public async Task <IActionResult> UpdatePatientReferralInfo([FromBody] EditRefferalCommand editRefferalCommand) { if (!ModelState.IsValid) { return(BadRequest(editRefferalCommand)); } var response = await _mediator.Send(editRefferalCommand, Request.HttpContext.RequestAborted); if (response.IsValid) { return(Ok(response.Value)); } return(BadRequest(response)); }
public async Task <Result <EditRefferalCommandResponse> > Handle(EditRefferalCommand request, CancellationToken cancellationToken) { using (_unitOfWork) { try { var patientRefferal = await _unitOfWork.Repository <PatientRefferal>().FindByIdAsync(request.Id); if (patientRefferal != null) { var patientReferralEditInfo = request; patientRefferal.UpdateReferralInfo(patientReferralEditInfo.ReferralDate, patientReferralEditInfo.ReferralReason, patientReferralEditInfo.ReferredBy, patientReferralEditInfo.ReferredFrom, patientReferralEditInfo.ReferredTo); _unitOfWork.Repository <PatientRefferal>().Update(patientRefferal); var result = await _unitOfWork.SaveChangesAsync(); return(Result <EditRefferalCommandResponse> .Valid(new EditRefferalCommandResponse() { Id = result })); } else { return(Result <EditRefferalCommandResponse> .Invalid("Error updating referral with referralId: " + request.Id)); } } catch (Exception e) { Log.Error(e.Message); return(Result <EditRefferalCommandResponse> .Invalid(e.Message)); } } }