示例#1
0
        public ActionResult Save(int id, GridEditMode mode, GridButtonType type)
        {
            ViewData["mode"] = mode;
            ViewData["type"] = type;

            //Create a new instance of the EditableProduct class and set its ProductID property.
            EditableProduct product = new EditableProduct
            {
                ProductID = id
            };

            //Perform model binding (fill the product properties and validate it).
            if (TryUpdateModel(product))
            {
                //The model is valid - update the product and redisplay the grid.
                SessionProductRepository.Update(product);

                //GridRouteValues() is an extension method which returns the
                //route values defining the grid state - current page, sort expression, filter etc.
                RouteValueDictionary routeValues = this.GridRouteValues();
                // add the editing mode to the route values
                routeValues.Add("mode", mode);

                return(RedirectToAction("EditingServerSide", routeValues));
            }

            //The model is invalid - render the current view to show any validation errors
            return(View("EditingServerSide", SessionProductRepository.All()));
        }
示例#2
0
        public ActionResult _SaveAjaxEditing(int id)
        {
            EditableProduct product = SessionProductRepository.One(p => p.ProductID == id);

            TryUpdateModel(product);

            SessionProductRepository.Update(product);

            return(View(new GridModel(SessionProductRepository.All())));
        }
        public ActionResult EditingCustomValidation_Update([DataSourceRequest] DataSourceRequest request, CustomValidationProductViewModel product)
        {
            if (product != null && ModelState.IsValid)
            {
                var target = SessionProductRepository.One(p => p.ProductID == product.ProductID);
                if (target != null)
                {
                    target.ProductName = product.ProductName;
                    target.UnitPrice   = product.UnitPrice;
                    SessionProductRepository.Update(target);
                }
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
示例#4
0
        public ActionResult Update(ProductViewModel product)
        {
            if (ModelState.IsValid)
            {
                //The model is valid - update the product and redisplay the grid.
                SessionProductRepository.Update(product);

                //GridRouteValues() is an extension method which returns the
                //route values defining the grid state - current page, sort expression, filter etc.
                RouteValueDictionary routeValues = this.GridRouteValues();

                return(RedirectToAction("ServerEditing", routeValues));
            }

            //The model is invalid - render the current view to show any validation errors
            return(View("ServerEditing", SessionProductRepository.All()));
        }
示例#5
0
        public ActionResult Editing_Update([DataSourceRequest] DataSourceRequest request, ProductViewModel product)
        {
            if (product != null && ModelState.IsValid)
            {
                var target = SessionProductRepository.One(p => p.ProductID == product.ProductID);
                if (target != null)
                {
                    target.ProductName  = product.ProductName;
                    target.UnitPrice    = product.UnitPrice;
                    target.UnitsInStock = product.UnitsInStock;
                    target.LastSupply   = product.LastSupply;
                    target.Discontinued = product.Discontinued;
                    SessionProductRepository.Update(target);
                }
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
示例#6
0
        public ActionResult Editing_Update(ProductViewModel product)
        {
            if (product != null && ModelState.IsValid)
            {
                var target = SessionProductRepository.One(p => p.ProductID == product.ProductID);
                if (target != null)
                {
                    target.ProductName  = product.ProductName;
                    target.UnitPrice    = product.UnitPrice;
                    target.UnitsInStock = product.UnitsInStock;
                    target.LastSupply   = product.LastSupply;
                    target.Discontinued = product.Discontinued;
                    SessionProductRepository.Update(target);
                }
            }

            return(RedirectToAction("Editing"));
        }
        public ActionResult Editing_Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")] IEnumerable <ProductViewModel> products)
        {
            if (products != null && ModelState.IsValid)
            {
                foreach (var product in products)
                {
                    var target = SessionProductRepository.One(p => p.ProductID == product.ProductID);
                    if (target != null)
                    {
                        target.ProductName  = product.ProductName;
                        target.UnitPrice    = product.UnitPrice;
                        target.UnitsInStock = product.UnitsInStock;
                        target.LastSupply   = product.LastSupply;
                        target.Discontinued = product.Discontinued;
                        SessionProductRepository.Update(target);
                    }
                }
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
        public ActionResult _SaveBatchEditing([Bind(Prefix = "inserted")] IEnumerable <EditableProduct> insertedProducts,
                                              [Bind(Prefix = "updated")] IEnumerable <EditableProduct> updatedProducts,
                                              [Bind(Prefix = "deleted")] IEnumerable <EditableProduct> deletedProducts)
        {
            if (insertedProducts != null)
            {
                foreach (var product in insertedProducts)
                {
                    SessionProductRepository.Insert(product);
                }
            }

            if (updatedProducts != null)
            {
                foreach (var product in updatedProducts)
                {
                    var target = SessionProductRepository.One(p => p.ProductID == product.ProductID);
                    if (target != null)
                    {
                        target.ProductName  = product.ProductName;
                        target.UnitPrice    = product.UnitPrice;
                        target.UnitsInStock = product.UnitsInStock;
                        target.LastSupply   = product.LastSupply;
                        target.Discontinued = product.Discontinued;

                        SessionProductRepository.Update(target);
                    }
                }
            }

            if (deletedProducts != null)
            {
                foreach (var product in deletedProducts)
                {
                    SessionProductRepository.Delete(product);
                }
            }

            return(View(new GridModel(SessionProductRepository.All())));
        }
示例#9
0
        public ActionResult ColumnSettings_Save(int id)
        {
            //Create a new instance of the EditableProduct class and set its ProductID property.
            EditableProduct product = new EditableProduct
            {
                ProductID = id
            };

            //Perform model binding (fill the product properties and validate it).
            if (TryUpdateModel(product))
            {
                //The model is valid - update the product and redisplay the grid.
                SessionProductRepository.Update(product);

                //GridRouteValues() is an extension method which returns the
                //route values defining the grid state - current page, sort expression, filter etc.
                RouteValueDictionary routeValues = this.GridRouteValues();

                return(RedirectToAction("ColumnSettings", routeValues));
            }

            //The model is invalid - render the current view to show any validation errors
            return(View("ColumnSettings", SessionProductRepository.All()));
        }