public JsonResult DeleteCategory([DataSourceRequest] DataSourceRequest request, CategoryViewModel category)
        {
            var existingCategory = this.db.Categories.FirstOrDefault(cat => cat.Id == category.Id);

            this.db.Categories.Remove(existingCategory);
            this.db.SaveChanges();

            return Json(new[] { category }, JsonRequestBehavior.AllowGet);
        }
        public JsonResult UpdateCategory([DataSourceRequest] DataSourceRequest request, CategoryViewModel category)
        {
            var existingCategory = this.db.Categories.FirstOrDefault(cat => cat.Id == category.Id);

            if (category != null && ModelState.IsValid)
            {
                existingCategory.Name = category.Name;

                this.db.SaveChanges();
            }
            return Json((new[] { category }.ToDataSourceResult(request, ModelState)), JsonRequestBehavior.AllowGet);
        }
        public JsonResult CreateCategory([DataSourceRequest] DataSourceRequest request, CategoryViewModel category)
        {
            if (category != null && ModelState.IsValid)
            {
               
                var newCategory = new Category
                {
                    Name=category.Name
                };

                this.db.Categories.Add(newCategory);
                this.db.SaveChanges();

                category.Id = newCategory.Id;
            }

            return Json(new[] { category }.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
        }