Exemplo n.º 1
0
        public async Task <object> DischargePatient([FromBody] DischargePatientCommand 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));
        }
Exemplo n.º 2
0
        public async Task <Result <DischargePatientResponse> > Handle(DischargePatientCommand request, CancellationToken cancellationToken)
        {
            using (_maternityUnitOfWork)
            {
                try
                {
                    var patientDischarge = new MaternalPatientDischargeInformation(request.PatientMasterVisitId, request.OutcomeStatus, request.OutcomeDescription, request.CreatedBy, request.DateDischarged);

                    await _maternityUnitOfWork.Repository <MaternalPatientDischargeInformation>().AddAsync(patientDischarge);

                    await _maternityUnitOfWork.SaveAsync();

                    return(Result <DischargePatientResponse> .Valid(new DischargePatientResponse { PatientDischargeId = patientDischarge.Id }));
                }
                catch (Exception ex)
                {
                    logger.Error(ex, $"An error occured while discharging patient with masterId {request.PatientMasterVisitId}");
                    return(Result <DischargePatientResponse> .Invalid(ex.Message));
                }
            }
        }