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)); }
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()); } }