public async Task <IActionResult> EditUserProfile([FromBody] EditUserProfileDto editUserProfileDto) { var userId = User.GetUserId(); var result = await _userDataService.EditUserProfile(editUserProfileDto, userId); if (result.Succeeded) { return(NoContent()); } return(BadRequest(result.Errors)); }
public ValidationResult ValidateEditUserProfileDto(EditUserProfileDto dto) { var validationResult = new ValidationResult("Редиктирование профайла пользователя"); if (string.IsNullOrEmpty(dto.Name)) { validationResult.AddError(ValidationErrorResources.ContactNameIsEmpty); } if (string.IsNullOrEmpty(dto.Phone) || IsInvalidPhoneNumber(dto.Phone)) { validationResult.AddError(ValidationErrorResources.PhoneNumberIsIncorrect); } return(validationResult); }
public async Task <IdentityResult> EditUserProfile(EditUserProfileDto editUserProfileDto, string userId) { var user = await _userManager.FindByIdAsync(userId); if (user == null) { return(null); } user.FirstName = editUserProfileDto.FirstName; user.LastName = editUserProfileDto.LastName; var result = await _userManager.UpdateAsync(user); return(result); }
public void EditUserProfile(EditUserProfileDto dto, string currentUserId) { IsUserInRegularRole(currentUserId); var profile = CheckAndGet(currentUserId).UserProfile; var validationResult = _validationManager.ValidateEditUserProfileDto(dto); if (validationResult.HasErrors) { throw new BusinessFaultException(validationResult.GetErrors()); } profile.Name = dto.Name; profile.Phone = dto.Phone; profile.Updated = DateTime.UtcNow; _unitOfWork.SaveChanges(); }
public void EditUser(EditUserProfileDto registerDto) { var user = _userManager.Users.FirstOrDefault(u => u.Id == registerDto.UserId); if (user == null) { throw new EntityNotFoundException(string.Format(USER_NOT_FOUND, registerDto.UserId)); } if (registerDto.UserName.Length < 4) { throw new Exception(SHORT_LOGIN); } if (registerDto.Password != registerDto.ConfirmPassword) { throw new Exception(PASSWORD_NOT_MATCH_MESSAGE); } if (registerDto.Password.Length < 6) { throw new Exception(SHORT_PASSWORD); } if (Regex.Matches(registerDto.Password, "[A-Z]").Count == 0) { throw new Exception(PASSWORD_UPPERCASE_CHARACTER); } if (Regex.Matches(registerDto.Password, "[a-z]").Count == 0) { throw new Exception(PASSWORD_LOWERCASE_CHARACTER); } if (Regex.Matches(registerDto.Password, "[0-9]").Count == 0) { throw new Exception(PASSWORD_DIGITS); } user.UserName = registerDto.UserName; user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, registerDto.Password); _userManager.UpdateAsync(user).Wait(); }
public async Task <string> EditAgentProfile(EditUserProfileDto editUser) { var user = await _authentication.GetCurrentUserAsync(); if (editUser.Image != null) { var imagePath = await _fileService.SaveFile(editUser.Image.OpenReadStream(), Path.GetExtension(editUser.Image.FileName)); if (user.ImagePath != null) { await _fileService.RemoveFile(user.ImagePath); } user.ImagePath = imagePath.ToString(); } user.FirstName = editUser.FirstName; user.LastName = editUser.LastName; user.Email = editUser.Email; user.PhoneNumber = editUser.PhoneNumber; await _userManager.UpdateAsync(user); var agent = await _unitOfWork.Repository <AgentProfile>().GetAsync(a => a.Id == user.Id) ?? throw new InvalidArgumentException("Agent id", "No agents with such id"); var usersDto = new List <UsersListDto>(); agent.BirthDate = editUser.AgentProfile.BirthDate; agent.City = editUser.AgentProfile.City; agent.DefaultRate = editUser.AgentProfile.DefaultRate; agent.Description = editUser.AgentProfile.Description; await _unitOfWork.Repository <AgentProfile>().UpdateAsync(agent); await _unitOfWork.SaveChangesAsync(); var currentUser = await _userManager.FindByNameAsync(user.UserName) ?? throw new NotFoundException(user.UserName); await _userManager.AddToRoleAsync(currentUser, "User"); await _signInManager.SignInAsync(user, false); var token = await _authentication.GenerateJwtToken(user); return(token); }
public IHttpActionResult EditProfile(EditUserProfileDto dto) { return(CallBusinessLogicAction(() => _userManager.EditUserProfile(dto, User.Identity.GetUserId()))); }
public ResponseDto EditUser([FromBody] EditUserProfileDto editUserProfileDto) { _usersRepository.EditUser(editUserProfileDto); return(new ResponseDto()); }