public async Task<ActionResult<ProfileDto>> Edit(SaveProfileDto saveProfileDto) { var user = await _userRepository.Details(_userAccessor.GetCurrentUsername()); user.DisplayName = saveProfileDto.DisplayName ?? user.DisplayName; await _unitOfWork.CompleteAsync(); return Mapper.Map<ProfileDto>(user); }
public ValidateResult Save(SaveProfileDto dto) { var currentUserId = _userProvider.GetCurrentUserId(); var user = _dataService.GetDbSet <User>().GetById(currentUserId.Value); var lang = _userProvider.GetCurrentUser().Language; var result = _validationService.Validate(dto); if (string.IsNullOrEmpty(dto.Email)) { result.AddError(nameof(dto.Email), "userEmailIsEmpty".Translate(lang), ValidationErrorType.ValueIsRequired); } if (!string.IsNullOrEmpty(dto.Email) && !IsValidEmail(dto.Email)) { result.AddError(nameof(dto.Email), "userEmailIsInvalid".Translate(lang), ValidationErrorType.InvalidValueFormat); } if (_dataService.GetDbSet <User>().Any(x => x.Email == dto.Email && x.Id != user.Id)) { result.AddError(nameof(dto.Email), "User.DuplicatedRecord".Translate(lang), ValidationErrorType.DuplicatedRecord); } if (string.IsNullOrEmpty(dto.UserName)) { result.AddError(nameof(dto.UserName), "userNameIsEmpty".Translate(lang), ValidationErrorType.ValueIsRequired); } if (result.IsError) { return(result); } user.Email = dto.Email; user.Name = dto.UserName; if (user.PoolingLogin != dto.PoolingLogin || user.PoolingPassword != dto.PoolingPassword) { user.PoolingLogin = dto.PoolingLogin; user.PoolingPassword = dto.PoolingPassword; if (!string.IsNullOrEmpty(dto.PoolingLogin) && !string.IsNullOrEmpty(dto.PoolingPassword)) { using (var pooling = new PoolingIntegration(user, _dataService, _serviceProvider)) pooling.Init(); } } user.FmCPLogin = dto.FmCPLogin; user.FmCPPassword = dto.FmCPPassword; _dataService.SaveChanges(); return(result); }
public ValidateResult Save([FromBody] SaveProfileDto dto) { return(profileService.Save(dto)); }