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