public bool AddProduct(int ProductId) { var findItem = this.cartItems .Where(s => s.Id == ProductId) .Select(s => s) .FirstOrDefault(); if (findItem == default(Models.Cart.CartItem)) { using (Models.PlymouthEntities db = new PlymouthEntities()) { var product = (from s in db.Products where s.Id == ProductId select s).FirstOrDefault(); if (product != default(Models.Product)) { this.AddProduct(product); } } } else { findItem.Quantity += 1; } return(true); }
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 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()); }