public ActionResult Update([DataSourceRequest] DataSourceRequest request, ViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                var dbModel     = this.GetById <Article>(model.Id);
                var newCategory = this.Data.Categories.All().FirstOrDefault(c => c.Name == model.Category.Name);

                if (newCategory == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid Category Name!"));
                }

                int statusCode = Convert.ToInt32(model.State);
                if (-1 > statusCode || statusCode > 2)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid Status Code!"));
                }

                dbModel.Title = model.Title;
                //dbModel.CategoryId = newCategory.Id;
                dbModel.State = model.State;

                this.ChangeEntityStateAndSave(dbModel, EntityState.Modified);
                model.ModifiedOn = dbModel.ModifiedOn;
            }

            return(this.GridOperation(model, request));
        }
        public ActionResult Destroy([DataSourceRequest] DataSourceRequest request, ViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                this.Data.Articles.Delete(model.Id);
                this.Data.SaveChanges();
            }

            return(this.GridOperation(model, request));
        }
        public ActionResult Create([DataSourceRequest] DataSourceRequest request, ViewModel model)
        {
            var dbModel = base.Create <Model>(model);

            if (dbModel != null)
            {
                model.Id = dbModel.Id;
            }
            return(this.GridOperation(model, request));
        }