public int GetUserForPeriodOfTime(string applicationName, TimeSpan timeSpan) { return(UsersCollection .AsQueryable() .Count(user => user.ApplicationName == applicationName && user.LastActivityDate > DateTime.UtcNow.Subtract(timeSpan))); }
public User GetByEmail(string applicationName, string email) { if (email.IsNullOrWhiteSpace() || UsersCollection.Count() == 0) { return(null); } return(UsersCollection .AsQueryable() .SingleOrDefault(user => user.ApplicationName == applicationName && user.EmailLowercase == email.ToLowerInvariant() && user.IsDeleted == false)); }
public bool IsUserInRole(string applicationName, string username, string roleName) { if (username.IsNullOrWhiteSpace() || roleName.IsNullOrWhiteSpace()) { return(false); } return(UsersCollection .AsQueryable() .Any(user => user.ApplicationName == applicationName && user.UsernameLowercase == username.ToLowerInvariant() && (user.Roles.Contains(roleName.ToLowerInvariant()) || user.Roles.Contains(roleName)))); }
public string[] GetUsersInRole(string applicationName, string roleName) { if (roleName.IsNullOrWhiteSpace()) { return(null); } return(UsersCollection .AsQueryable() .Where(user => user.ApplicationName == applicationName && (user.Roles.Contains(roleName.ToLowerInvariant()) || user.Roles.Contains(roleName))) .Select(user => user.Username) .ToArray()); }
public IEnumerable <User> GetAll(string applicationName, int pageIndex, int pageSize, out int totalRecords) { totalRecords = (int)UsersCollection.Count(); if (totalRecords == 0) { return(Enumerable.Empty <User>()); } return(UsersCollection .AsQueryable() .Where(user => user.ApplicationName == applicationName && user.IsDeleted == false) .Skip(pageIndex * pageSize) .Take(pageSize)); }
public IEnumerable <User> GetAllAnonym(string applicationName, int pageIndex, int pageSize, out int totalRecords) { if (UsersCollection.Count() == 0) { totalRecords = 0; return(Enumerable.Empty <User>()); } var users = UsersCollection .AsQueryable() .Where(user => user.ApplicationName == applicationName && user.IsAnonymous && user.IsDeleted == false); totalRecords = users.Count(); return(users.Skip(pageIndex * pageSize).Take(pageSize)); }
public IEnumerable <User> GetAllByUserName(string applicationName, string username, int pageIndex, int pageSize, out int totalRecords) { if (username.IsNullOrWhiteSpace() || UsersCollection.Count() == 0) { totalRecords = 0; return(Enumerable.Empty <User>()); } var users = UsersCollection .AsQueryable() .Where(user => user.ApplicationName == applicationName && user.UsernameLowercase.Contains(username.ToLowerInvariant()) && user.IsDeleted == false); totalRecords = users.Count(); return(users.Skip(pageIndex * pageSize).Take(pageSize)); }
public IEnumerable <User> GetAllInactiveSince(string applicationName, DateTime inactiveDate, int pageIndex, int pageSize, out int totalRecords) { if (UsersCollection.Count() == 0) { totalRecords = 0; return(Enumerable.Empty <User>()); } var users = UsersCollection .AsQueryable() .Where(user => user.ApplicationName == applicationName && user.LastActivityDate <= inactiveDate && user.IsDeleted == false); totalRecords = users.Count(); return(users .Skip(pageIndex * pageSize) .Take(pageSize)); }
public IEnumerable <User> GetInactiveSinceByUserName(string applicationName, string username, DateTime userInactiveSinceDate, int pageIndex, int pageSize, out int totalRecords) { if (UsersCollection.Count() == 0) { totalRecords = 0; return(Enumerable.Empty <User>()); } var users = UsersCollection .AsQueryable() .Where(user => user.ApplicationName == applicationName && user.UsernameLowercase.Contains(username.ToLowerInvariant()) && user.LastActivityDate <= userInactiveSinceDate && user.IsDeleted == false); totalRecords = users.Count(); return(users .Skip(pageIndex * pageSize) .Take(pageSize)); }