Beispiel #1
0
        public async Task <IActionResult> SaveUpdatePharmacy([FromBody] SaveUpdatePatientPharmacyCommand saveUpdatePatientPharmacyCommand)
        {
            var response = await _mediator.Send(saveUpdatePatientPharmacyCommand, Request.HttpContext.RequestAborted);

            if (response.IsValid)
            {
                return(Ok(response.Value));
            }
            return(BadRequest(response));
        }
        public async Task <Result <SaveUpdatePharmacyResponse> > Handle(SaveUpdatePatientPharmacyCommand request, CancellationToken cancellationToken)
        {
            using (_pharmUnitOfWork)
            {
                try
                {
                    PharmacyService phar = new PharmacyService(_pharmUnitOfWork);

                    if (request.PrescriptionDetails.Count > 0)
                    {
                        foreach (var det in request.PrescriptionDetails)
                        {
                            DrugPrescription dr = new DrugPrescription();
                            dr.DrugId      = det.DrugId;
                            dr.DrugAbbr    = det.DrugAbb;
                            dr.Dose        = det.Dose;
                            dr.BatchId     = det.batchId;
                            dr.FreqId      = det.Freq;
                            dr.Evening     = det.Evening;
                            dr.Midday      = det.Midday;
                            dr.Morning     = det.Morning;
                            dr.Night       = det.Night;
                            dr.Duration    = det.Duration;
                            dr.prophylaxis = det.Prophylaxis;
                            dr.qtyDisp     = det.QUantityDisp;
                            dr.qtyPres     = det.QuantityPres;

                            List <DrugPrescription> prs = new List <DrugPrescription>();
                            prs.Add(dr);
                            if (String.IsNullOrEmpty(det.Reason) == true)
                            {
                                det.Reason = "0";
                            }
                            if (String.IsNullOrEmpty(det.Regimenline) == true)
                            {
                                det.Regimenline = "0";
                            }
                            if (String.IsNullOrEmpty(det.TreatmentPlan) == true)
                            {
                                det.TreatmentPlan = "0";
                            }
                            if (String.IsNullOrEmpty(det.Regimen) == true)
                            {
                                det.Regimen = "0";
                            }
                            var pk = await phar.SaveUpdatePharmacy(Convert.ToInt32(request.Ptn_Pk), Convert.ToInt32(request.PatientMasterVisitId)
                                                                   , Convert.ToInt32(request.PatientId), Convert.ToInt32(request.LocationId),
                                                                   request.PrescribedBy, Convert.ToInt32(request.UserId), det.Regimentext, request.DispensedBy,
                                                                   Convert.ToInt32(det.Regimenline), 0, prs, request.pmscm.ToString(),
                                                                   Convert.ToInt32(det.TreatmentProgram),
                                                                   Convert.ToInt32(det.Period), Convert.ToInt32(det.TreatmentPlan),
                                                                   Convert.ToInt32(det.Reason), Convert.ToInt32(det.Regimen), request.PrescriptionDate, request.DispensedDate, request.VisitDate);


                            pharmacypk = Convert.ToInt32(pk);
                        }
                    }
                    return(Result <SaveUpdatePharmacyResponse> .Valid(new SaveUpdatePharmacyResponse()
                    {
                        Ptn_Pharmacy_Pk = pharmacypk
                    }));
                }


                catch (Exception ex)
                {
                    return(Result <SaveUpdatePharmacyResponse> .Invalid("Error has occured while saving the form"
                                                                        + ex.Message.ToString()));
                }
            }
        }