public async Task <IActionResult> ChangePassword([FromBody] ChangePasswordSaveDto resourceSave) { _auditTrailRepo.User = User; var changepassword = await _repo.ChangePassword(_auditTrailRepo.AuthenticatedUserDetails.Id, resourceSave); if (changepassword.HasError) { await _auditTrailRepo.SaveFailedTrail(new AuditTrailFailedSaveDto() { Action = TransactionType.CHANGEPASSWORD, Activity = $"Change Password User:{_auditTrailRepo.AuthenticatedUserDetails.UserInCharge}", ErrorMessage = changepassword.Message }); return(BadRequest(changepassword.Message)); } return(Ok("Change Password Done!")); }
public async Task <ErrorValidator> ChangePassword(int userId, ChangePasswordSaveDto resourceSave) { if (resourceSave.NewPassword != resourceSave.ConfirmNewPassword) { return(new ErrorValidator("Password Mismatch")); } var user = await _userRepo.Get(userId); if (user == null) { return(new ErrorValidator("User Doesn't Exist")); } if (user.Password == AES.Encrypt(resourceSave.NewPassword)) { return(new ErrorValidator("Use Different Password, Detected that it is same as your current password!")); } _mapper.Map(resourceSave, user); if (!await _userRepo.SaveChanges()) { return(new ErrorValidator("Password Fail to Change!!")); } return(new ErrorValidator()); }