public ActionResult Index(int ClubID, int CategoryID) { if (ClubID == 0) { return(HttpNotFound()); } if (ModelState.IsValid && CategoryID > 0) { Club club = db.Clubs.SingleOrDefault(m => m.ID == ClubID); if (club == null) { return(HttpNotFound()); } //Save Category category = db.Categories.Where(mc => mc.ID == CategoryID).SingleOrDefault(); if (category == null) { return(HttpNotFound("Category not found")); } club.Categories.Add(category); db.SaveChanges(); } AssignCategoryViewModel model = CreateAssignCategoryViewModel(ClubID); return(View(model)); }
public ActionResult Index(int ShoeId, int CategoryId) { if (ShoeId == 0) { return(HttpNotFound()); } if (ModelState.IsValid && CategoryId > 0) { ShoeItem product = db.ShoeItems.SingleOrDefault(p => p.ID == ShoeId); if (product == null) { return(HttpNotFound()); } //Save ShoeCategories category = db.ShoeCategories.Where(pc => pc.ID == CategoryId).SingleOrDefault(); if (category == null) { return(HttpNotFound("Category not found")); } product.Categories.Add(category); db.SaveChanges(); } AssignCategoryViewModel model = CreateAssignCategoryViewModel(ShoeId); return(View(model)); }
// GET: AssignCategories public ActionResult Index(int ClubID) { AssignCategoryViewModel model = CreateAssignCategoryViewModel(ClubID); if (model.ClubID == 0) { return(HttpNotFound()); } return(View(model)); }
// GET: AssignCategory public ActionResult Index(int ShoeId) { AssignCategoryViewModel model = CreateAssignCategoryViewModel(ShoeId); if (model.ShoeId == 0) { return(HttpNotFound()); } return(View(model)); }
private AssignCategoryViewModel CreateAssignCategoryViewModel(int ShoeId) { AssignCategoryViewModel model = new AssignCategoryViewModel(); ShoeItem product = db.ShoeItems .Where(p => p.ID == ShoeId) .FirstOrDefault(); if (product == null) { model.ShoeId = 0; } else { model.ShoeId = product.ID; model.ShoeName = product.ShoeName; //Get the list of assigned category ids for this product IList <int> assignedCategoryIds = product.Categories.Select(c => c.ID).ToList(); //Get a list of assigned category objects IList <ShoeCategories> assignedCategories = db.ShoeCategories.Where(c => assignedCategoryIds.Contains(c.ID)).ToList(); model.AssociatedCategories = assignedCategories; //Get a list of available category objects that could be assigned IList <ShoeCategories> availableCategories = db.ShoeCategories.Where(c => !assignedCategoryIds.Contains(c.ID)).ToList(); availableCategories.Insert(0, new ShoeCategories() { ID = 0, CategoryName = "--- Select a Category ---" }); //Convert to SelectList object for use with (bind to) drop down list. model.Categories = new SelectList(availableCategories, "ID", "CategoryName", 0); } return(model); }