public Response <object> ChangePasswordForFirstTime(UserChangePasswordForFirstTimeModel _) { var user = _repository.GetUserByUsername(_contextAccessor.HttpContext.User.Identity.Name); var userBefore = CloneObject.Clone(user); //if (user.IdUserAuthorizationType != (int)UserAuthorizationTypeIds.SystemAccount) //{ // _saveLog.LogInformation("User with Active Directory cannot change password from this system!"); // return new Response<object>(PublicResultStatusCodes.NotAllowedOperation); //} var checkPassword = PasswordHelper.ValidatePassword(_.NewPassword); if (checkPassword) { var hashHelper = new HashHelper(_.NewPassword); user.Password = hashHelper.Hash; user.SaltedPassword = hashHelper.Salt; user.LatestPasswordChangeDate = DateTime.Now; user.ChangePasswordNeeded = false; var serials = ConvertToBinaryHelper <User> .SerializeAndConvert(userBefore, user); _generalUpdateService.UpdateAddLogDataChange(user, serials.Item1, serials.Item2); return(new Response <object>(PublicResultStatusCodes.Done)); } _saveLog.LogInformation("Password must have at least six characters, one upperCase and one number!"); return(new Response <object>(PublicResultStatusCodes.ModelIsNotValid)); }
public IActionResult ChangePasswordForFirstTime(UserChangePasswordForFirstTimeModel _) => Ok(_userService.ChangePasswordForFirstTime(_));