示例#1
0
        public ActionResult Delete(int id, GridEditMode mode, GridButtonType type)
        {
            //Find a product with ProductID equal to the id action parameter
            EditableProduct product = SessionProductRepository.One(p => p.ProductID == id);

            RouteValueDictionary routeValues;

            if (product == null)
            {
                //A product with the specified id does not exist - redisplay the grid

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

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

            //Delete the record
            SessionProductRepository.Delete(product);

            routeValues = this.GridRouteValues();
            // add the editing mode to the route values
            routeValues.Add("mode", mode);
            // add button type to the route values
            routeValues.Add("type", type);

            //Redisplay the grid
            return(RedirectToAction("EditingServerSide", routeValues));
        }
示例#2
0
        public ActionResult Destroy(int productID)
        {
            //Find a product with ProductID equal to the id action parameter
            ProductViewModel product = SessionProductRepository.One(p => p.ProductID == productID);

            RouteValueDictionary routeValues;

            if (product == null)
            {
                //A product with the specified id does not exist - redisplay the grid

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

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

            //Delete the record
            SessionProductRepository.Delete(product);

            routeValues = this.GridRouteValues();

            //Redisplay the grid
            return(RedirectToAction("ServerEditing", routeValues));
        }
示例#3
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()));
        }
示例#4
0
        public ActionResult Editing_Destroy([DataSourceRequest] DataSourceRequest request, ProductViewModel product)
        {
            if (product != null)
            {
                SessionProductRepository.Delete(product);
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
示例#5
0
        public ActionResult EditingPopup_Create([DataSourceRequest] DataSourceRequest request, ProductViewModel product)
        {
            if (product != null && ModelState.IsValid)
            {
                SessionProductRepository.Insert(product);
            }

            return(Json(new[] { product }.ToDataSourceResult(request, ModelState)));
        }
 public ActionResult EditingCustomValidation_Read([DataSourceRequest] DataSourceRequest request)
 {
     return(Json(SessionProductRepository.All()
                 .Select(p => new CustomValidationProductViewModel {
         ProductID = p.ProductID,
         ProductName = p.ProductName,
         UnitPrice = p.UnitPrice
     }).ToDataSourceResult(request)
                 ));
 }
示例#7
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())));
        }
示例#8
0
        public ActionResult Editing_Create([DataSourceRequest] DataSourceRequest request, ProductViewModel product)
        {
            var results = new List <ProductViewModel>();

            if (product != null && ModelState.IsValid)
            {
                SessionProductRepository.Insert(product);
                results.Add(product);
            }

            return(Json(results.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult Editing_Destroy([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")] IEnumerable <ProductViewModel> products)
        {
            if (products.Any())
            {
                foreach (var product in products)
                {
                    SessionProductRepository.Delete(product);
                }
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
示例#10
0
        public ActionResult _DeleteAjaxEditing(int id)
        {
            //Find a customer with ProductID equal to the id action parameter
            EditableProduct product = SessionProductRepository.One(p => p.ProductID == id);

            if (product != null)
            {
                //Delete the record
                SessionProductRepository.Delete(product);
            }

            //Rebind the grid
            return(View(new GridModel(SessionProductRepository.All())));
        }
        public ActionResult Editing_Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")] IEnumerable <ProductViewModel> products)
        {
            var results = new List <ProductViewModel>();

            if (products != null && ModelState.IsValid)
            {
                foreach (var product in products)
                {
                    SessionProductRepository.Insert(product);
                    results.Add(product);
                }
            }

            return(Json(results.ToDataSourceResult(request, ModelState)));
        }
        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()));
        }
示例#13
0
        public ActionResult _InsertAjaxEditing()
        {
            //Create a new instance of the EditableProduct class.
            EditableProduct product = new EditableProduct();

            //Perform model binding (fill the product properties and validate it).
            if (TryUpdateModel(product))
            {
                //The model is valid - insert the product.
                SessionProductRepository.Insert(product);
            }

            //Rebind the grid
            return(View(new GridModel(SessionProductRepository.All())));
        }
示例#14
0
        public ActionResult ColumnSettings()
        {
            var columns = new[]
            {
                new GridColumnSettings
                {
                    Member = "ProductName",
                    Width  = "200px"
                },
                new GridColumnSettings
                {
                    Member = "UnitPrice",
                    Width  = "130px",
                    Format = "{0:c}",
                },
                new GridColumnSettings
                {
                    Member = "UnitsInStock",
                    Width  = "130px"
                },
                new GridColumnSettings
                {
                    Member = "LastSupply",
                    Width  = "130px",
                    Format = "{0:d}"
                },
                new GridColumnSettings
                {
                    Member = "Discontinued"
                },

                new GridCommandColumnSettings
                {
                    Commands =
                    {
                        new GridEditActionCommand(),
                        new GridDeleteActionCommand()
                    },
                    Width = "200px",
                    Title = "Commands"
                }
            };

            ViewData["Columns"] = columns;

            return(View(SessionProductRepository.All()));
        }
示例#15
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()));
        }
示例#16
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"));
        }
示例#17
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()));
        }
        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())));
        }
示例#20
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()));
        }
示例#21
0
 public ActionResult Navigation()
 {
     return(View(SessionProductRepository.All()));
 }
 public ActionResult _SelectBatchEditing()
 {
     return(View(new GridModel(SessionProductRepository.All())));
 }
 public ActionResult Editing_Read([DataSourceRequest] DataSourceRequest request)
 {
     return(Json(SessionProductRepository.All().ToDataSourceResult(request)));
 }
示例#24
0
 public ActionResult ServerEditing()
 {
     return(View(SessionProductRepository.All()));
 }
示例#25
0
 public ActionResult Globalization()
 {
     return(View(SessionProductRepository.All()));
 }
示例#26
0
 public ActionResult Scroll_Read([DataSourceRequest] DataSourceRequest request)
 {
     return(Json(SessionProductRepository.All().OrderByDescending(product => product.ProductID).ToDataSourceResult(request)));
 }
示例#27
0
        public ActionResult EditDetails(int productID)
        {
            var target = SessionProductRepository.One(p => p.ProductID == productID);

            return(View(target));
        }
示例#28
0
 public ActionResult EditingServerSide(GridEditMode?mode, GridButtonType?type)
 {
     ViewData["mode"] = mode ?? GridEditMode.InLine;
     ViewData["type"] = type ?? GridButtonType.Text;
     return(View(SessionProductRepository.All()));
 }