public ActionResult SubmitNotReturned(ItemsNotReturnedViewModel vm)
 {
     if (Session["isAdmin"] == null || !(bool)Session["isAdmin"])
         return RedirectToAction("Index", new { controller = "Home", action = "Index" });
     if (vm == null || vm.ItemsLost == null || vm.ItemReturn == null)
         return RedirectToAction("Index");
     if (!CheckReturnedAndLost(vm.ItemsNotReturned, vm.ItemsLost, vm.ItemReturn))
     {
         TempData["error"] = "An item cannot be marked as lost and returned";
         return RedirectToAction("Index");
     }
     if (!UpdateItems(vm.ItemsNotReturned, vm.ItemsLost, vm.ItemReturn))
     {
         TempData["error"] = "Item not found, cannot continue";
         return RedirectToAction("Index");
     }
     return RedirectToAction("Index");
 }
 public ActionResult NotReturned()
 {
     if (Session["isAdmin"] == null || !(bool)Session["isAdmin"])
         return RedirectToAction("Index", new { controller = "Home", action = "Index" });
     var allitems = db.Items.Where(item => item.CheckedOutById != null);
     allitems = allitems.Where(item => item.CheckedInById != null);
     allitems = allitems.Where(item => item.IsReturned == false);
     var notReturnedItems = allitems.OrderBy(item => item.ItemType.ItemName).ThenBy(item => item.InventoryLocation.InventoryLocationName).ThenBy(item => item.Label!=null? item.Label.LabelName : "").ToList();
     if (notReturnedItems.Count == 0)
     {
         TempData["error"] = "No items are currently checked in and not returned";
         return RedirectToAction("Index");
     }
     IList<bool> lostItem = new List<bool>();
     IList<bool> returnedItems = new List<bool>();
     for (int i=0; i< notReturnedItems.Count; i++)
     {
         lostItem.Add(false);
         returnedItems.Add(false);
     }
     ItemsNotReturnedViewModel vm = new ItemsNotReturnedViewModel
     {
         ItemsNotReturned = notReturnedItems,
         ItemsLost = lostItem,
         ItemReturn = returnedItems
     };
     return View(vm);
 }