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())); }
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) )); }
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 _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 _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 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())); }
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())); }
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()))); }
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())); }
public ActionResult Editing_Read([DataSourceRequest] DataSourceRequest request) { return(Json(SessionProductRepository.All().ToDataSourceResult(request))); }
public ActionResult ServerEditing() { return(View(SessionProductRepository.All())); }
public ActionResult Scroll_Read([DataSourceRequest] DataSourceRequest request) { return(Json(SessionProductRepository.All().OrderByDescending(product => product.ProductID).ToDataSourceResult(request))); }
public ActionResult Globalization() { return(View(SessionProductRepository.All())); }
public ActionResult _SelectBatchEditing() { return(View(new GridModel(SessionProductRepository.All()))); }
public ActionResult EditingServerSide(GridEditMode?mode, GridButtonType?type) { ViewData["mode"] = mode ?? GridEditMode.InLine; ViewData["type"] = type ?? GridButtonType.Text; return(View(SessionProductRepository.All())); }
public ActionResult Navigation() { return(View(SessionProductRepository.All())); }