public IActionResult Edit(ProductEditViewModel pvm) { //model is invalid, reconstruct our list of suppliers and show edit view if (!ModelState.IsValid) { var suppliers = _dataContext.Suppliers.ToList(); pvm.Suppliers = suppliers.Select(s => new SelectListItem { Text = s.CompanyName, Value = s.Id.ToString() }).ToList(); return(View(pvm)); } //view model is valid, create a new product using the form data var product = new Product { Id = pvm.Id, ProductName = pvm.ProductName, UnitPrice = pvm.UnitPrice, Package = pvm.Package, IsDiscontinued = pvm.IsDiscontinued, SupplierId = pvm.SupplierId }; //update our datacontext, go back to home/index _dataContext.Attach(product); _dataContext.Entry(product).State = EntityState.Modified; _dataContext.SaveChanges(); return(RedirectToAction("Index", "Home")); }
public IActionResult Edit(ProductEditViewModel pvm) { if (!ModelState.IsValid) { var suppliers = _dataContext.Suppliers.ToList(); pvm.Suppliers = suppliers.Select(s => new SelectListItem { Text = s.CompanyName, Value = s.Id.ToString() }).ToList(); return(View(pvm)); } var product = new Product { Id = pvm.Id, ProductName = pvm.ProductName, UnitPrice = pvm.UnitPrice, Package = pvm.Package, IsDiscontinued = pvm.IsDiscontinued, SupplierId = pvm.SupplierId }; _dataContext.Attach(product); _dataContext.Entry(product).State = EntityState.Modified; _dataContext.SaveChanges(); return(RedirectToAction("Index", "Home")); }
public IActionResult Post([FromBody] Product product) { _dataContext.Attach(product); _dataContext.Entry(product).State = EntityState.Added; _dataContext.SaveChanges(); return(CreatedAtAction("Get", new { id = product.Id }, product)); }