public ServiceResult <string> ChangeProfile_Validation(ChangeProfileDto dto) { var serviceResult = new ServiceResult <string>(true); #region validation if (string.IsNullOrEmpty(dto.FullName)) { serviceResult.AddError("نام و نام خانوداگی نمی تواند فاقد مقدار باشد"); } if (string.IsNullOrEmpty(dto.PhoneNumber)) { serviceResult.AddError("شماره همراه نمی تواند فاقد مقدار باشد"); } if (!string.IsNullOrEmpty(dto.PhoneNumber) && !dto.PhoneNumber.IsValidIranianMobileNumber()) { serviceResult.AddError("ساختار شماره همراه وارد شده درست نمی باشد"); } if (!string.IsNullOrEmpty(dto.FullName) && dto.FullName.Length > 500) { serviceResult.AddError("نام و نام خانواگی نمی تواند بیش از 500 کاراکتر را شامل شود".ToPersianNumbers()); } if (!string.IsNullOrEmpty(dto.PhoneNumber) && dto.PhoneNumber.Length > 256) { serviceResult.AddError("شماره همراه وارد نشده نباید بیش از 256 کارکتر را شامل شود".ToPersianNumbers()); } #endregion return(serviceResult); }
public IActionResult ChangeProfile([FromBody] ChangeProfileDto dto , [FromServices] IChangeProfileCommand command , [FromServices] ChangeProfileValidator validator) { dto.Id = _actor.Id; var result = validator.Validate(dto); if (result.IsValid) { ApplicationUser applicationUser = _mapper.Map <ApplicationUser>(dto); _executor.ExecuteCommand(command, applicationUser); return(Ok("Application user changed successfully")); } return(UnprocessableEntity(UnprocessableEntityResponse.Message(result.Errors))); }
public ServiceResult <string> ChangeProfile(ChangeProfileDto dto) { var serviceResult = ChangeProfile_Validation(dto); var entity = _context.Users.FirstOrDefault(c => c.Id == dto.Id); if (entity == null) { serviceResult.AddError("کاربری با شناسه ارسالی یافت نشد"); } if (entity.PhoneNumber != dto.PhoneNumber) { var countPhoneNumber = _context.Users.Where(c => c.PhoneNumber.Equals(dto.PhoneNumber)).Count(); if (countPhoneNumber != 0) { serviceResult.AddError("شماره همراه وارد شده متعلق به شخص دیگری می باشد"); } } if (serviceResult.IsSuccess) { entity.PhoneNumber = dto.PhoneNumber; entity.FullName = dto.FullName; if (!string.IsNullOrEmpty(dto.ImageName)) { serviceResult.Data = entity.ImageName; entity.ImageName = dto.ImageName; } _context.Entry(entity).State = EntityState.Modified; if (_context.SaveChanges() == 0) { serviceResult.AddError("در انجام عملیات خطایی رخ داد"); } } else { serviceResult.Data = entity.ImageName; } return(serviceResult); }
public async Task <IActionResult> ChangeProfile(ChangeProfileDto model) { var user = await _userManager.FindByIdAsync(model.Id); if (await _userManager.FindByEmailAsync(model.Email) != null) { return(BadRequest("User with such Email already exists")); } var updatedUser = _mapper.Map(model, user); var result = await _userManager.UpdateAsync(updatedUser); if (result.Succeeded) { return(Ok()); } return(BadRequest("An Error occured during user profile update")); }