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!"));
        }
Ejemplo n.º 2
0
        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());
        }