internal static bool ValidateLastChanged(BoilerplateContext context, int userID, string lastChanged) { var user = context.Users.Find(userID); string changedTime = user.EditedDate.ToString() ?? user.CreatedDate.ToString(); return(changedTime == lastChanged); }
internal static void Register(BoilerplateContext context, string username, string emailAddress, string password) { context.Users.Add(new User() { Username = username, EmailAddress = emailAddress, PasswordHash = BCrypt.Net.BCrypt.HashPassword(password), Role = Role.GetUserRole(context) }); }
internal static void EditEmail(BoilerplateContext context, int id, string emailAddress) { var userToEdit = context.Users.Find(id); userToEdit.EmailAddress = emailAddress; context.Users.Attach(userToEdit); context.Entry(userToEdit).State = EntityState.Modified; }
internal static bool CheckUniqueUsername(BoilerplateContext context, string username) { if (context.Users.Where(u => u.Username == username).Count() > 0) { return(false); } return(true); }
internal static bool CheckUniqueEmailAddress(BoilerplateContext context, string emailAddress) { if (context.Users.Where(u => u.EmailAddress == emailAddress).Count() > 0) { return(false); } return(true); }
internal static UserDTO Get(BoilerplateContext context, int id) { var user = context.Users.Find(id); context.Entry(user).Reference(e => e.Role).Load(); return(new UserDTO() { ID = user.ID, EmailAddress = user.EmailAddress, Role = user.Role.Name, Username = user.Username, LastUpdated = user.EditedDate ?? user.CreatedDate }); }
internal static int GetTotalPages(BoilerplateContext context, int resultAmount, string search) { var culture = CultureInfo.InvariantCulture; if (!string.IsNullOrWhiteSpace(search)) { return(context.Users.Where(e => culture.CompareInfo.IndexOf(e.EmailAddress, search, CompareOptions.IgnoreCase) >= 0 || culture.CompareInfo.IndexOf(e.Username, search, CompareOptions.IgnoreCase) >= 0).Count() / resultAmount); } else { return(context.Users.Count() / resultAmount); } }
internal static UserDTO Login(BoilerplateContext context, string usernameOrEmailAddress, string password) { var user = context.Users .Include(u => u.Role) .Where(u => u.Username == usernameOrEmailAddress || u.EmailAddress == usernameOrEmailAddress) .FirstOrDefault(); if (user != null && BCrypt.Net.BCrypt.Verify(password, user.PasswordHash)) { return(new UserDTO() { EmailAddress = user.EmailAddress, ID = user.ID, Username = user.Username, Role = user.Role.Name }); } return(null); }
public static void Seed(BoilerplateContext context) { int users = context.Users.Count(); var usersToAdd = new List <User>(); Role role = Role.GetUserRole(context); for (int i = users; i < 500; i++) { usersToAdd.Add(new User() { Username = RandomString(6), EmailAddress = RandomString(6) + "@" + RandomString(4) + ".com", PasswordHash = BCrypt.Net.BCrypt.HashPassword(RandomString(6)), Role = role }); } context.AddRange(usersToAdd); return; }
public static void Seed(BoilerplateContext context) { var rolesToAdd = new List <Role>(); if (context.Roles.Where(e => e.Name == "User").FirstOrDefault() == null) { context.Roles.Add(new Role() { Name = "User" }); } if (context.Roles.Where(e => e.Name == "Admin").FirstOrDefault() == null) { context.Roles.Add(new Role() { Name = "Admin" }); } context.AddRange(rolesToAdd); }
internal static List <UserDTO> GetPage(BoilerplateContext context, int pageNumber, int resultAmount, string search) { int resultsToSkip = pageNumber * resultAmount; var culture = CultureInfo.InvariantCulture; if (!string.IsNullOrWhiteSpace(search)) { return(context.Users .OrderBy(e => e.CreatedDate) .Where(e => culture.CompareInfo.IndexOf(e.EmailAddress, search, CompareOptions.IgnoreCase) >= 0 || culture.CompareInfo.IndexOf(e.Username, search, CompareOptions.IgnoreCase) >= 0) .Skip(resultsToSkip) .Take(resultAmount) .Select(e => new UserDTO() { EmailAddress = e.EmailAddress, ID = e.ID, LastUpdated = e.EditedDate ?? e.CreatedDate, Role = e.Role.Name, Username = e.Username }) .ToList()); } else { return(context.Users .OrderBy(e => e.CreatedDate) .Skip(resultsToSkip) .Take(resultAmount) .Select(e => new UserDTO() { EmailAddress = e.EmailAddress, ID = e.ID, LastUpdated = e.EditedDate ?? e.CreatedDate, Role = e.Role.Name, Username = e.Username }) .ToList()); } }
internal static Role GetUserRole(BoilerplateContext context) { return(context.Roles.Where(r => r.Name == "User").FirstOrDefault()); }
public HomeController(BoilerplateContext context) { _context = context; }
public RoleRepository(BoilerplateContext context) { this.context = context; }
public UnitOfWork() { this.context = new BoilerplateContext(); }