You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
3.3 KiB
136 lines
3.3 KiB
Imports Raven.Client
|
|
Imports System.Web
|
|
Imports System.Web.Security
|
|
|
|
Public Class Members
|
|
|
|
#Region "Shared Methods"
|
|
|
|
Public Shared Function GetMembers() As List(Of Member)
|
|
|
|
Dim lst As List(Of Member)
|
|
|
|
Using ds As IDocumentSession = DataDocumentStore.Session()
|
|
|
|
Dim query = From m As Member In ds.Query(Of Member)()
|
|
Select m
|
|
|
|
'http://stackoverflow.com/questions/10048943/proper-way-to-retrieve-more-than-128-documents-with-ravendb
|
|
|
|
lst = query.Take(1024).ToList()
|
|
|
|
End Using
|
|
|
|
Return lst
|
|
|
|
End Function
|
|
|
|
Public Shared Function GetCurrentMember() As Member
|
|
|
|
Dim model As New Member
|
|
|
|
If HttpContext.Current.User.Identity.IsAuthenticated = True Then
|
|
Using ds As IDocumentSession = DataDocumentStore.Session()
|
|
|
|
Dim query = From m As Member In ds.Query(Of Member)()
|
|
Where m.UserName = HttpContext.Current.User.Identity.Name
|
|
Select m
|
|
|
|
If query.Count > 0 Then
|
|
model = query.First
|
|
End If
|
|
|
|
End Using
|
|
End If
|
|
|
|
Return model
|
|
|
|
End Function
|
|
|
|
Public Shared Function GetMember(ByVal strUserName As String) As Member
|
|
|
|
Dim model As Member = Nothing
|
|
|
|
Using ds As IDocumentSession = DataDocumentStore.Session()
|
|
|
|
Dim query = From m As Member In ds.Query(Of Member)()
|
|
Where m.UserName = strUserName
|
|
Select m
|
|
|
|
If query.Count > 0 Then
|
|
model = query.First
|
|
End If
|
|
|
|
End Using
|
|
|
|
Return model
|
|
|
|
End Function
|
|
|
|
Public Shared Function GetMemberByUserKey(ByVal strUserKey As String) As Member
|
|
|
|
Dim model As Member = Nothing
|
|
|
|
Using ds As IDocumentSession = DataDocumentStore.Session()
|
|
|
|
Dim query = From m As Member In ds.Query(Of Member)()
|
|
Where m.UserKey = strUserKey
|
|
Select m
|
|
|
|
If query.Count > 0 Then
|
|
model = query.First
|
|
End If
|
|
|
|
End Using
|
|
|
|
Return model
|
|
|
|
End Function
|
|
|
|
Public Shared Function GetMemberByApiKey(ByVal strApiKey As String) As Member
|
|
|
|
Dim model As Member = Nothing
|
|
|
|
Using ds As IDocumentSession = DataDocumentStore.Session()
|
|
|
|
Dim query = From m As Member In ds.Query(Of Member)()
|
|
Where m.APIKey = strApiKey
|
|
Select m
|
|
|
|
If query.Count > 0 Then
|
|
model = query.First
|
|
End If
|
|
|
|
End Using
|
|
|
|
Return model
|
|
|
|
End Function
|
|
|
|
Public Shared Function EnsureMember(mu As MembershipUser) As Member
|
|
|
|
Dim mb As Member = GetMember(mu.UserName)
|
|
|
|
If mb Is Nothing Then
|
|
mb = New Member With {.UserKey = mu.ProviderUserKey.ToString,
|
|
.UserName = mu.UserName,
|
|
.Mail = mu.Email}
|
|
SaveMember(mb)
|
|
End If
|
|
|
|
Return mb
|
|
|
|
End Function
|
|
|
|
Public Shared Sub SaveMember(model As Member)
|
|
|
|
Using ds As IDocumentSession = DataDocumentStore.Session()
|
|
ds.Store(model)
|
|
ds.SaveChanges()
|
|
End Using
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
End Class
|
|
|