public ActionResult SubmitLabels(ItemsMissingLabelViewModel vm) { if (Session["isAdmin"] == null || !(bool)Session["isAdmin"]) return RedirectToAction("Index", new { controller = "Home", action = "Index" }); if (vm == null) return RedirectToAction("Index"); for (int i = 0; i < vm.ItemsMissingLabel.Count; i++) { var dbItem = db.Items.Find(vm.ItemsMissingLabel[i].ItemId); if (dbItem == null) { TempData["error"] = "Could not find item"; return RedirectToAction("Index"); } dbItem.LabelId = vm.ItemsMissingLabel[i].LabelId; db.Entry(dbItem).State = EntityState.Modified; db.SaveChanges(); } return RedirectToAction("Index"); }
public ActionResult NoLabel() { if (Session["isAdmin"] == null || !(bool)Session["isAdmin"]) return RedirectToAction("Index", new { controller = "Home", action = "Index" }); var noLabelItems = db.Items.Where(item => item.ItemType.HasLabel); noLabelItems = noLabelItems.Where(item => item.LabelId == null).OrderBy(item => item.ItemType.ItemName); if (noLabelItems.ToList().Count == 0) { TempData["error"] = "No items exist without a label"; return RedirectToAction("Index"); } IList<SelectListItem> labels = db.Labels.Select(x => new SelectListItem { Text = x.LabelName, Value = x.LabelId.ToString() }).ToList(); labels.Insert(0, new SelectListItem { Text = "", Value = null }); IList<IEnumerable<SelectListItem>> labelSelectLists = new List<IEnumerable<SelectListItem>>(); foreach (var item in noLabelItems) { IList<SelectListItem> currLabelList = new List<SelectListItem>(); //Create Copy of list foreach (var label in labels) currLabelList.Add(new SelectListItem { Text = label.Text, Value = label.Value }); labelSelectLists.Add(currLabelList); } ItemsMissingLabelViewModel vm = new ItemsMissingLabelViewModel { ItemsMissingLabel = noLabelItems.ToList(), Labels = labelSelectLists }; return View(vm); }