public async Task <ActionResult <ContactUs> > UpdateAsync(Guid id, ContactUsForUpdate model) { if (id != model.Id) { return(BadRequest(new ErrorResponse(HttpStatusCode.BadRequest, "Id Invalid"))); } if (!ModelState.IsValid) { var errors = ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage).ToList(); return(BadRequest(new ErrorResponse(HttpStatusCode.BadRequest, "Validation error", errors))); } var result = await _contactUsService.UpdateContacUsAsync(model); return(result.Succeed ? Ok(result.Value) : BadRequest(new ErrorResponse(HttpStatusCode.BadRequest, "Update fail", result.Errors))); }
public async Task <ProcessResult <ContactUs> > UpdateContacUsAsync(ContactUsForUpdate model) { async Task <ContactUs> action() { var contactUs = await _repoWrapper.ContactUs.FindContactUsByIdAsync(model.Id); if (contactUs == null) { throw new Exception("Id is not exist"); } _ = _mapper.Map(model, contactUs); contactUs.ModifyBy = CurrentUser.UserName; contactUs.ModifyDate = DateTime.UtcNow; _repoWrapper.ContactUs.Update(contactUs); return(await _repoWrapper.SaveAsync() > 0 ? contactUs : throw new Exception("Save fail")); } return(await Process.RunAsync(action)); }