コード例 #1
0
        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)));
            }
        }
コード例 #2
0
        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));
        }