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

            //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 and redisplay the grid.
                SessionProductRepository.Insert(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 EditingPopup_Create([DataSourceRequest] DataSourceRequest request, ProductViewModel product)
        {
            if (product != null && ModelState.IsValid)
            {
                SessionProductRepository.Insert(product);
            }

            return(Json(new[] { product }.ToDataSourceResult(request, ModelState)));
        }
示例#3
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_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)));
        }
示例#5
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())));
        }
示例#6
0
        public ActionResult Create(ProductViewModel product)
        {
            if (ModelState.IsValid)
            {
                //The model is valid - insert the product and redisplay the grid.
                SessionProductRepository.Insert(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()));
        }
        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())));
        }