예제 #1
0
        public async Task <object> AddPatientReferralInfo([FromBody] AddPatientReferralCommand 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));
        }
        public async Task <Result <AddPatientReferralResponse> > Handle(AddPatientReferralCommand request, CancellationToken cancellationToken)
        {
            using (_unitOfWork)
            {
                try
                {
                    PatientRefferal patientRefferal = new PatientRefferal(request.PatientId, request.PatientMasterVisitId, request.ReferredFrom, request.ReferredTo, request.ReferralReason, request.ReferralDate, request.ReferredBy, request.CreatedBy, request.DeleteFlag);

                    await _unitOfWork.Repository <PatientRefferal>().AddAsync(patientRefferal);

                    await _unitOfWork.SaveAsync();

                    return(Result <AddPatientReferralResponse> .Valid(new AddPatientReferralResponse()
                    {
                        PatientReferralId = patientRefferal.Id
                    }));
                }
                catch (Exception e)
                {
                    Log.Error(e.Message);
                    return(Result <AddPatientReferralResponse> .Invalid(e.Message));
                }
            }
        }