public User Register(string email, string firstName, string lastName, string password) { using (var context = GetContext()) { if (context.Users.Any(u => u.Email == email)) { return(null); } var saltPassword = PasswordHelper.GenerateRandomPassword(PasswordConstants.UniqueKeyLength, false, false); var shaPassword = HashHelper.Hash(saltPassword + password); var newUser = new Data.UserEntity { FirstName = firstName, LastName = lastName, Password = shaPassword, PasswordSalt = saltPassword, Created = DateTime.Now, Status = UserStatus.Active.Status, UserKey = UuidHelper.GenerateUniqueKey(PasswordConstants.UniqueKeyLength), Email = email, }; var userEntity = context.Users.Add(newUser).Entity; context.SaveChanges(); return(_mapper.Map <User>(userEntity)); } }
public UserReset ForgotPassword(string email) { using (var context = GetContext()) { if (string.IsNullOrEmpty(email)) { return(null); } var user = context.Users.SingleOrDefault(x => x.Email == email); if (user != null) { user.ResetKey = UuidHelper.GenerateUniqueKey(PasswordConstants.UniqueKeyLength); user.ResetKeyTime = DateTime.Now.AddMinutes(_appSettings.ResetKeyDurationInMinutes); context.SaveChanges(); return(_mapper.Map <UserReset>(user)); } return(null); } }