コード例 #1
0
        public ActionResult OrderMedicationForSites(int id)
        {
            ViewBag.Message = "Order Medication For Sites Page";


            var data = LoadDepot();
            List <DepotModel> medication = new List <DepotModel>();

            foreach (var row in data)
            {
                medication.Add(new DepotModel
                {
                    MedicationId = row.MedicationId,
                    Quantity     = row.Quantity
                });
            }

            //var data1 = LoadSites();
            //List<SiteModel> sites = new List<SiteModel>();

            //foreach (var row in data1)
            //{
            //    sites.Add(new SiteModel
            //    {
            //        SiteNumber = row.SiteNumber,
            //        Address = row.Address,
            //        SiteDoctor = row.SiteDoctor
            //    });
            //}

            var viewModel = new OrderSiteMedicationViewModel()
            {
                SiteMedication = new SiteMedicationModel
                {
                    MedicationId = 0,
                    Quantity     = 0,
                    SiteId       = id
                },
                Medication = medication
            };

            return(View(viewModel));
        }
コード例 #2
0
 public ActionResult OrderMedicationForSites(OrderSiteMedicationViewModel model)
 {
     if (ModelState.IsValid)
     {
         var data = LoadSiteMedication(model.SiteMedication.SiteId);
         List <SiteMedicationModel> medication = new List <SiteMedicationModel>();
         foreach (var row in data)
         {
             medication.Add(new SiteMedicationModel
             {
                 MedicationId = row.MedicationId,
                 Quantity     = row.Quantity,
                 SiteId       = row.SiteId
             });
         }
         bool exists = false;
         foreach (var med in medication)
         {
             if (med.MedicationId == model.SiteMedication.MedicationId)
             {
                 var data1 = LoadDepotMedication(model.SiteMedication.MedicationId);
                 foreach (var row in data1)
                 {
                     if (row.MedicationId == model.SiteMedication.MedicationId)
                     {
                         if (model.SiteMedication.Quantity <= row.Quantity)
                         {
                             UpdateSiteMedicationQuantity(model.SiteMedication.MedicationId, model.SiteMedication.Quantity, model.SiteMedication.SiteId);
                             DecreaseMedicationQuantity(model.SiteMedication.MedicationId, model.SiteMedication.Quantity);
                         }
                         else
                         {
                             ViewBag.Error = "Not enough medication in inventory";
                             return(RedirectToAction("ViewSites"));
                             //error not enough medication in inventory
                         }
                         break;
                     }
                 }
                 exists = true;
                 break;
             }
         }
         if (exists == false)
         {
             var data1 = LoadDepotMedication(model.SiteMedication.MedicationId);
             foreach (var row in data1)
             {
                 if (row.MedicationId == model.SiteMedication.MedicationId)
                 {
                     if (model.SiteMedication.Quantity <= row.Quantity)
                     {
                         DecreaseMedicationQuantity(model.SiteMedication.MedicationId, model.SiteMedication.Quantity);
                         int recordsCreated = AddSiteMedication(model.SiteMedication.MedicationId, model.SiteMedication.Quantity, model.SiteMedication.SiteId);
                         return(RedirectToAction("ViewSites"));
                     }
                     else
                     {
                         ViewBag.Error = "Not enough medication in inventory";
                         return(RedirectToAction("ViewSites"));
                         //error not enough medication in inventory
                     }
                 }
             }
             return(RedirectToAction("ViewSites"));
         }
         return(RedirectToAction("ViewSites"));
     }
     else
     {
         return(View());
     }
 }