public ActionResult Create(InboundMedKit inboundmedkit) { if (ModelState.IsValid) { var matchedItem = db.InboundMedKits.Where(o => o.InboundMasterID == inboundmedkit.InboundMasterID && o.MedKitID == inboundmedkit.MedKitID); if (matchedItem.Count() > 1) { throw new Exception("Invalid Data"); } else if (matchedItem.Count() == 1) { var item = matchedItem.SingleOrDefault(); item.NumberOfMedKit = item.NumberOfMedKit + inboundmedkit.NumberOfMedKit; db.Entry(item).State = EntityState.Modified; } else { db.InboundMedKits.Add(inboundmedkit); } db.SaveChanges(); return RedirectToAction("Index", "InventoryBook", new { inboundmedkit.InboundMasterID }); } ViewBag.InboundMasterID = new SelectList(db.InboundMasters, "InboundMasterID", "Description", inboundmedkit.InboundMasterID); ViewBag.MedKitID = new SelectList(db.MeditationKitMasters, "MedKitID", "MedKitName", inboundmedkit.MedKitID); return View(inboundmedkit); //if (ModelState.IsValid) //{ // db.inboundBooks.Add(inboundbook); // db.SaveChanges(); // return RedirectToAction("Index", new { inboundbook.EventID }); //} //ViewBag.BookID = new SelectList(db.BookMasters, "BookID", "BookName", inboundbook.BookID); //ViewBag.EventID = new SelectList(db.InboundMasters, "EventID", "EventDescription", inboundbook.EventID); //return View(inboundbook); }
public ActionResult Edit(InboundMedKit inboundmedkit) { if (ModelState.IsValid) { var matchedItem = db.InboundMedKits.Where(o => o.InboundMasterID == inboundmedkit.InboundMasterID && o.MedKitID == inboundmedkit.MedKitID); if (matchedItem.Count() == 0)//added a new book { db.Entry(inboundmedkit).State = EntityState.Modified; } else if (matchedItem.Count() > 1) { throw new Exception("Invalid Data"); } else if (matchedItem.Count() == 1 && matchedItem.SingleOrDefault().InboundMKID != inboundmedkit.InboundMKID)//modifed but books already existing { var item = matchedItem.SingleOrDefault(); item.NumberOfMedKit = item.NumberOfMedKit + inboundmedkit.NumberOfMedKit; db.Entry(item).State = EntityState.Modified; var removeditem = db.InboundMedKits.Find(inboundmedkit.InboundMKID); db.InboundMedKits.Remove(removeditem); } else { matchedItem.SingleOrDefault().NumberOfMedKit = inboundmedkit.NumberOfMedKit; // db.Entry(inboundmedkit).State = EntityState.Modified; } db.SaveChanges(); return RedirectToAction("Index", "InventoryBook", new { inboundmedkit.InboundMasterID }); } ViewBag.InboundMasterID = new SelectList(db.InboundMasters, "InboundMasterID", "Description", inboundmedkit.InboundMasterID); ViewBag.MedKitID = new SelectList(db.MeditationKitMasters, "MedKitID", "MedKitName", inboundmedkit.MedKitID); return View(inboundmedkit); }