public void BlockUser(User user, string reason) { if (user.IsBlocked) return; var usersRepository = _repositoryFactory.GetUsersRepository(); using (new UnitOfWork(EntitiesContext.Current)) { user.IsBlocked = true; user.Details.BlockDate = DateTime.UtcNow; user.Details.BlockReason = reason; usersRepository.Update(user); } }
public static ProfileViewModel FromUser(User user) { return new ProfileViewModel() { Id = user.Id, TimeEdit = user.TimeEdit, Name = user.Name, Email = user.Email, RoleId = user.RoleId, RoleName = user.Role.Key, IsBlocked = user.IsBlocked, IsEmailVerified = user.IsEmailVerified, RegisteredAt = user.RegisteredAt, BlockReason = user.Details.BlockReason, BlockDate = user.Details.BlockDate }; }
public User CreateUser(string username, string password, string email, UserRole role = UserRole.User) { var now = DateTime.UtcNow; var user = new User() { Name = username, PasswordHash = password.Sha256(), IsBlocked = false, TimeEdit = now, RegisteredAt = now, RoleId = (int)role, Email = email, Details = new UserDetails() { TimeEdit = now } }; RegisterUser(user); return user; }
private void InitAccounts() { var usersRepository = _repositoryFactory.GetUsersRepository(); if (!usersRepository.GetAll().Any()) { //create default user var defaultAdmin = new User() { Name = "admin", PasswordHash = "SCMSadmin".Sha256(), RegisteredAt = DateTime.UtcNow, RoleId = (int) UserRole.Administrator, TimeEdit = DateTime.UtcNow, IsEmailVerified = true, Details = new UserDetails() { TimeEdit = DateTime.UtcNow} }; usersRepository.Add(defaultAdmin); } }
public Email CreateVerificationEmail(User user, VerificationToken token) { var urlHelper = new UrlHelper(); var validateActionUrl = urlHelper.Action("Verify", "Account", new { userId = user.Id, token = token.Value }); var email = new Email() { To = user.Email, Subject = _applicationSettings.ApplicationName + ": " + Resources.Resources.EmailVerificationSubject, Body = ConfigureVerificationEmailBody(user.Name, validateActionUrl), }; using (new UnitOfWork(EntitiesContext.Current)) { var emailsRepository = _repositoryFactory.GetEmailsRepository(); emailsRepository.Add(email); } return email; }
public bool IsValidForControlPanel(User user) { return ((UserRole) user.RoleId).HasFlag(UserRole.Editor); }
public void LogIn(User user, bool remember) { FormsAuthentication.SetAuthCookie(user.Name, remember); }
/// <summary> /// Checks that entered user credentials are valid for authorization /// </summary> public bool IsValidUserForLogIn(User user, string password) { var result = true; if (user == null) result = false; else if (user.PasswordHash != password.Sha256(Const.DefaultSha256Salt)) result = false; return result; }
private void UpdateUserInfo(User user, ProfileViewModel profile) { user.Name = profile.Name; user.Email = profile.Email; user.IsBlocked = profile.IsBlocked; if (profile.RoleId.HasValue) user.RoleId = profile.RoleId.Value; user.Details.BlockDate = profile.BlockDate; user.Details.BlockReason = profile.BlockReason; }
public void StartEmailVerification(User user) { if (user == null) throw new ArgumentNullException("user"); if (user.IsEmailVerified) return; if (String.IsNullOrWhiteSpace(user.Email)) return; var now = DateTime.UtcNow; var tokensRepository = _repositoryFactory.GetVerificationTokensRepository(); var token = tokensRepository.FirstOrDefault(t => t.UserId == user.Id && !t.IsRedeemed); if (token == null) { token = new VerificationToken() { CreateDate = now, TimeEdit = now, IsRedeemed = false, Value = (user.Email + user.Name + now.Ticks.ToString()).Sha256(Const.VerificationTokenSalt), UserId = user.Id }; using (new UnitOfWork(EntitiesContext.Current)) { tokensRepository.Add(token); } } var email = _emailService.CreateVerificationEmail(user, token); _emailService.QueryEmailSending(email); }
/// <summary> /// Creates new account for user /// </summary> /// <param name="user"></param> public void RegisterUser(User user) { if (user == null) throw new ArgumentNullException("user"); if (user.Id > 0) return; var usersRepository = _repositoryFactory.GetUsersRepository(); using (new UnitOfWork(EntitiesContext.Current)) { var defaultDate = new DateTime(); var now = DateTime.UtcNow; if (user.RegisteredAt == defaultDate) user.RegisteredAt = now; if (user.TimeEdit == defaultDate) user.TimeEdit = now; if (user.RoleId == 0) user.RoleId = (int)UserRole.User; if (user.Details == null) user.Details = new UserDetails() { TimeEdit = now }; else { if (user.Details.TimeEdit == defaultDate) user.Details.TimeEdit = now; } usersRepository.Add(user); } }