Exemplo n.º 1
0
 public ActionResult OrderMedicationForSubjects(OrderSubjectMedicationViewModel model)
 {
     if (ModelState.IsValid)
     {
         var data = LoadSubjectMedication(model.SubjectMedication.SubjectId);
         List <SubjectMedicationModel> medication = new List <SubjectMedicationModel>();
         foreach (var row in data)
         {
             medication.Add(new SubjectMedicationModel
             {
                 MedicationId = row.MedicationId,
                 Quantity     = row.Quantity,
                 SubjectId    = row.SubjectId
             });
         }
         bool exists = false;
         foreach (var med in medication)
         {
             if (med.MedicationId == model.SubjectMedication.MedicationId)
             {
                 var data1 = LoadSiteMedication(model.SubjectMedication.SiteId);
                 foreach (var row in data1)
                 {
                     if (row.MedicationId == model.SubjectMedication.MedicationId)
                     {
                         if (model.SubjectMedication.Quantity <= row.Quantity)
                         {
                             UpdateSubjectMedicationQuantity(model.SubjectMedication.MedicationId, model.SubjectMedication.Quantity, model.SubjectMedication.SubjectId);
                             DecreaseSiteMedicationQuantity(model.SubjectMedication.MedicationId, model.SubjectMedication.Quantity, model.SubjectMedication.SiteId);
                         }
                         else
                         {
                             //error not enough medication in inventory
                         }
                         exists = true;
                         break;
                     }
                 }
                 exists = true;
                 break;
             }
         }
         if (exists == false)
         {
             var data1 = LoadSiteMedication(model.SubjectMedication.SiteId);
             foreach (var row in data1)
             {
                 if (row.MedicationId == model.SubjectMedication.MedicationId)
                 {
                     if (model.SubjectMedication.Quantity <= row.Quantity)
                     {
                         DecreaseSiteMedicationQuantity(model.SubjectMedication.MedicationId, model.SubjectMedication.Quantity, model.SubjectMedication.SiteId);
                         int recordsCreated = AddSubjectMedication(model.SubjectMedication.MedicationId, model.SubjectMedication.Quantity, model.SubjectMedication.SubjectId, model.SubjectMedication.SiteId);
                     }
                     else
                     {
                         //error not enough medication in inventory
                     }
                     exists = true;
                     break;
                 }
             }
             return(RedirectToAction("ViewSubjects"));
         }
         return(RedirectToAction("ViewSubjects"));
     }
     else
     {
         return(View());
     }
 }
Exemplo n.º 2
0
        public ActionResult OrderMedicationForSubjects(int id, int role)
        {
            ViewBag.Message = "Order Medication For Subjects Page";

            var data = LoadSubjects();
            List <SubjectModel> subjects = new List <SubjectModel>();

            foreach (var row in data)
            {
                subjects.Add(new SubjectModel
                {
                    SubjectNumber = row.SubjectNumber,
                    SiteNumber    = row.SiteNumber
                });
            }

            bool siteIsActive = false;
            var  activeSites  = LoadSites();

            foreach (var row in activeSites)
            {
                if (row.SiteNumber == role)
                {
                    siteIsActive = true;
                    break;
                }
            }

            if (siteIsActive == true)
            {
                var data1 = LoadSiteMedication(role);
                List <DepotModel> medication = new List <DepotModel>();

                foreach (var row in data1)
                {
                    if (row.Quantity > 0)
                    {
                        medication.Add(new DepotModel
                        {
                            MedicationId = row.MedicationId,
                            Quantity     = row.Quantity
                        });
                    }
                }

                var viewModel = new OrderSubjectMedicationViewModel()
                {
                    SubjectMedication = new SubjectMedicationModel
                    {
                        MedicationId = 0,
                        Quantity     = 0,
                        SubjectId    = id,
                        SiteId       = role
                    },
                    Medication = medication,
                };

                return(View(viewModel));
            }
            else
            {
                //error site inactive
                ViewBag.Error = "Site Inactive";
                return(RedirectToAction("ViewSubjects"));
            }
        }