public ActionResult AllocateCategories(AdminCategoryAllocateViewModel model, string[] selections)
        {
            if (ModelState.IsValid)
            {
                if (model.SelectedCategoryId == 0 || selections == null)
                {
                    return(View("Error"));
                }

                var catList = new List <Category>();

                foreach (var catName in selections)
                {
                    foreach (var cat in db.Categories.Where(m => m.Name == catName).ToList())
                    {
                        catList.Add(cat);
                    }
                }

                foreach (var cat in catList)
                {
                    cat.KL_CategoryId   = model.SelectedCategoryId;
                    db.Entry(cat).State = EntityState.Modified;
                }

                db.SaveChanges();
                return(RedirectToAction("AllocateCategories", new { id = "Success!" }));
            }
            return(RedirectToAction("AllocateCategories", new { id = "Operation Failed." }));
        }
        public ActionResult AllocateCategories(string id = "", bool?isPositive = null)
        {
            var model = new AdminCategoryAllocateViewModel
            {
                AvailableCategories = new Dictionary <string, int>()
            };

            model.VendorCategories = db.Categories
                                     .Select(m => m.Name)
                                     .Distinct()
                                     .ToList();

            foreach (var cat in db.KL_Categories.ToList())
            {
                model.AvailableCategories.Add(cat.Name, cat.Id);
            }

            ViewBag.Message = id;

            return(View(model));
        }