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())); }
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 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))); }
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()))); }
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()))); }