public Task <Result <DischargePatientResponse> > Handle(UpdatePatientDischargeCommand request, CancellationToken cancellationToken) { try { var patientDischarge = _maternityUnitOfWork.Repository <MaternalPatientDischargeInformation>() .Get(x => x.Id == request.Id).SingleOrDefault(); if (patientDischarge == null) { return(Task.FromResult(Result <DischargePatientResponse> .Invalid($"Patient discharge information with Id {request.Id} not found"))); } patientDischarge.Update(request.OutcomeStatus, request.DateDischarged, request.OutcomeDescription); _maternityUnitOfWork.Repository <MaternalPatientDischargeInformation>().Update(patientDischarge); _maternityUnitOfWork.Save(); return(Task.FromResult(Result <DischargePatientResponse> .Valid(new DischargePatientResponse { Message = "Patient discharge information updated succesfully", PatientDischargeId = request.Id }))); } catch (Exception ex) { string message = $"An error occured while updating patient discharge information for Id {request.Id}"; _logger.Error(ex, message); return(Task.FromResult(Result <DischargePatientResponse> .Invalid(message))); } }
public async Task <object> UpdatePatientDischargeInfo([FromBody] UpdatePatientDischargeCommand command) { if (!ModelState.IsValid) { return(BadRequest(command)); } var response = await _mediator.Send(command, HttpContext.RequestAborted); if (response.IsValid) { return(Ok(response.Value)); } return(BadRequest(response)); }