public JsonResult Create([DataSourceRequest] DataSourceRequest request, Product product) { if (product != null && ModelState.IsValid) { var newProduct = new Data.Product { ProductName = product.Name, UnitPrice = product.UnitPrice, UnitsInStock = product.UnitsInStock, Discontinued = product.Discontinued, SupplierID = product.Supplier.Id, CategoryID = product.Category.Id }; _context.Products.Add(newProduct); _context.SaveChanges(); } return Json(new[] { product }.ToDataSourceResult(request, ModelState)); }
public JsonResult Delete([DataSourceRequest] DataSourceRequest request, Product product) { if (product != null) { var deletedProduct = _context.Products.First(p => p.ProductID == product.Id); try { _context.Products.Remove(deletedProduct); _context.SaveChanges(); } catch (Exception exception) { return this.Json(new DataSourceResult { Errors = string.Format("Product deleting was faild. Check if you trying to delete product that already using in users orders. Original server error: \n {0}",exception.Message) }); } } return Json(new[] { product }.ToDataSourceResult(request, ModelState)); }
public JsonResult Update([DataSourceRequest] DataSourceRequest request, Product product) { if (product != null && ModelState.IsValid) { var updatedProduct = _context.Products.FirstOrDefault(p => p.ProductID == product.Id); if (updatedProduct != null) { updatedProduct.ProductName = product.Name; updatedProduct.UnitPrice = product.UnitPrice; updatedProduct.UnitsInStock = product.UnitsInStock; updatedProduct.Discontinued = product.Discontinued; updatedProduct.SupplierID = product.Supplier.Id; updatedProduct.CategoryID = product.Category.Id; _context.Entry(updatedProduct).State = EntityState.Modified; _context.SaveChanges(); } } return Json(new[] { product }.ToDataSourceResult(request, ModelState)); }