public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) { MembershipUserCollection muc = new MembershipUserCollection(); N2.Security.Items.UserList userContainer = Bridge.GetUserContainer(false); if (userContainer == null) { totalRecords = 0; return(muc); } IList <ContentItem> users = Bridge.Finder .Where.Detail("Email").Eq(emailToMatch) .And.Type.Eq(typeof(N2.Security.Items.User)) .And.Parent.Eq(userContainer) .Select(); totalRecords = users.Count; N2.Collections.CountFilter.Filter(users, pageIndex * pageSize, pageSize); foreach (N2.Security.Items.User u in users) { muc.Add(u.GetMembershipUser(Name)); } return(muc); }
public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) { N2.Security.Items.UserList userContainer = Bridge.GetUserContainer(false); if (userContainer == null) { return(null); } int _userId = 0; if (providerUserKey is int) { _userId = (int)providerUserKey; } else if (providerUserKey is Guid) { /// http://forums.asp.net/t/1266765.aspx Guid guid = (Guid)providerUserKey; //extract an integer from the beginning of the Guid byte[] _bytes = guid.ToByteArray(); _userId = ((int)_bytes[0]) | ((int)_bytes[1] << 8) | ((int)_bytes[2] << 16) | ((int)_bytes[3] << 24); } var users = Bridge.Finder .Where.ID.Eq(_userId) .And.Type.Eq(typeof(N2.Security.Items.User)) .And.Parent.Eq(userContainer) .MaxResults(1) .Select <Items.User>(); return(users.Select(u => u.GetMembershipUser(Name)).FirstOrDefault()); }
public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) { N2.Security.Items.UserList users = Bridge.GetUserContainer(false); if (users == null) { totalRecords = 0; return(new MembershipUserCollection()); } return(users.GetMembershipUsers(Name, pageIndex * pageSize, pageSize, out totalRecords)); }
public override int GetNumberOfUsersOnline() { N2.Security.Items.UserList users = Bridge.GetUserContainer(false); if (users == null) { return(0); } int userIsOnlineTimeWindow = (Membership.UserIsOnlineTimeWindow > 0 ? Membership.UserIsOnlineTimeWindow : 20); return(Bridge.Finder.Where.Parent.Eq(users).And.Detail("LastActivityDate").Ge(DateTime.Now.AddMinutes(-userIsOnlineTimeWindow)).Count()); }
public override string GetUserNameByEmail(string email) { N2.Security.Items.UserList userContainer = Bridge.GetUserContainer(false); if (userContainer == null) { return(null); } var userNames = Bridge.Finder .Where.Detail("Email").Eq(email) .And.Type.Eq(typeof(N2.Security.Items.User)) .And.Parent.Eq(userContainer) .MaxResults(1) .Select("Name"); return(userNames.OfType <string>().FirstOrDefault()); }
public override string GetUserNameByEmail(string email) { N2.Security.Items.UserList userContainer = Bridge.GetUserContainer(false); if (userContainer == null) { return(null); } IList <ContentItem> users = Bridge.Finder .Where.Detail("Email").Eq(email) .And.Type.Eq(typeof(N2.Security.Items.User)) .And.Parent.Eq(userContainer) .Select(); foreach (N2.Security.Items.User u in users) { return(u.Name); } return(null); }
public override int GetNumberOfUsersOnline() { N2.Security.Items.UserList users = Bridge.GetUserContainer(false); if (users == null) { return(0); } int online = 0; int userIsOnlineTimeWindow = (Membership.UserIsOnlineTimeWindow > 0 ? Membership.UserIsOnlineTimeWindow : 20); foreach (N2.Security.Items.User u in users.Children) { if (u.LastActivityDate < DateTime.Now.AddMinutes(-userIsOnlineTimeWindow)) // JH { online++; } } return(online); }
public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) { N2.Security.Items.UserList userContainer = Bridge.GetUserContainer(false); if (userContainer == null) { return(null); } int _userId = 0; if (providerUserKey is int) { _userId = (int)providerUserKey; } else if (providerUserKey is Guid) { /// http://forums.asp.net/t/1266765.aspx Guid guid = (Guid)providerUserKey; //extract an integer from the beginning of the Guid byte[] _bytes = guid.ToByteArray(); _userId = ((int)_bytes[0]) | ((int)_bytes[1] << 8) | ((int)_bytes[2] << 16) | ((int)_bytes[3] << 24); } IList <ContentItem> users = Bridge.Finder .Where.ID.Eq(_userId) .And.Type.Eq(typeof(N2.Security.Items.User)) .And.Parent.Eq(userContainer) .Select(); foreach (N2.Security.Items.User u in users) { if (userIsOnline) { u.LastActivityDate = DateTime.Now; // JH Bridge.Save(u); } return(u.GetMembershipUser(Name)); } return(null); }