Exemple #1
0
        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));
        }
Exemple #2
0
        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));
                }
            }
        }