public Response ResetPasswordUser(IUserRestartPasswordViewModel userModel) { var result = new Response(); using (var context = ContextFactory()) { try { var newPassword = SafeManager.CreatePassword(10); SafeManager.HashString(newPassword, out var hash, out var salt); var user = context.Set <TEntity>().FirstOrDefault(w => w.Id == userModel.Id && !w.IsDeleted); if (user != null) { user.Password = hash; user.Salt = salt; user.PasswordFailureCount = 0; context.SaveChanges(); result.AddSucces($"Hasło zostało zresetowane. Nowe to: {newPassword}"); } else { result.AddError("Brak użytkownika"); } } catch (Exception e) { //LoggerManager.Log(e); //transaction.Rollback(); result.AddError("Bład zapisu"); } } return(result); }
public Response ChangePasswordUser(IUserRestartPasswordViewModel userModel) { var result = new Response(); using (var context = ContextFactory()) { try { SafeManager.HashString(userModel.Password, out var hash, out var salt); var user = context.Set <TEntity>().FirstOrDefault(w => w.Id == userModel.Id && !w.IsDeleted); if (user != null) { var hashPassword = SafeManager.GetHashString(userModel.OldPassword, user.Salt); if (user.Password.Equals(hashPassword)) { if (userModel.OldPassword.Equals(userModel.Password)) { result.AddError("Hasło jest takie samo jak poprzednie"); } else { user.Password = hash; user.Salt = salt; user.PasswordFailureCount = 0; context.SaveChanges(); result.AddSucces("Hasło zostało zmienione."); } } else { result.AddError("Złe hasło użytkownika"); } } else { result.AddError("Brak użytkownika"); } } catch (Exception e) { //LoggerManager.Log(e); //transaction.Rollback(); result.AddError("Bład zapisu"); } } return(result); }