public IHttpActionResult PutProduct(int id, Product product) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (var ctx = new PlymouthEntities()) { var existingProduct = ctx.Products.Where(p => p.Id == product.Id).FirstOrDefault <Product>(); if (existingProduct != null) { existingProduct.Name = product.Name; existingProduct.Price = product.Price; existingProduct.Description = product.Description; existingProduct.CategoryId = product.CategoryId; existingProduct.PublishDate = product.PublishDate; existingProduct.Status = product.Status; existingProduct.DefaultImageId = product.DefaultImageId; existingProduct.Quantity = product.Quantity; existingProduct.DefaultImageURL = product.DefaultImageURL; ctx.SaveChanges(); } else { return(NotFound()); } } return(Ok()); }
public IHttpActionResult DeleteProduct(int id) { Product product = db.Products.Find(id); if (product == null) { return(NotFound()); } db.Products.Remove(product); db.SaveChanges(); return(Ok(product)); }
public IHttpActionResult PostProduct(Product product) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (var ctx = new PlymouthEntities()) { ctx.Products.Add(new Product() { Name = product.Name, Price = product.Price, Description = product.Description, CategoryId = product.CategoryId, PublishDate = product.PublishDate, Status = product.Status, DefaultImageId = product.DefaultImageId, Quantity = product.Quantity, DefaultImageURL = product.DefaultImageURL }); ctx.SaveChanges(); } } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } return(Ok()); }