public void UpdateProduct(Models.Product product) { using (var context = new SketchyProductsEntities()) { var productDb = context.Products.SingleOrDefault(p => p.ProductId == product.Id); if (productDb != null) { productDb.Cost = product.Cost; productDb.ImageUrl = product.ImageUrl; productDb.Name = product.Name; productDb.Summary = product.Summary; context.SaveChanges(); foreach (var detail in productDb.ProductDetails.ToList()) { context.ProductDetails.Remove(detail); } context.SaveChanges(); } } foreach (var detail in product.Details) { AddProductToModel(product.Id, detail); } }
private Cart GetNewestCartForUser(SketchyProductsEntities context, string userId) { var cartHistory = context.CartHistories.Where(c => c.UserId == userId).Select(c => c.CartId).ToList(); var currentCart = context.Carts.FirstOrDefault(c => !cartHistory.Contains(c.Id) && c.UserId == userId); return(currentCart); }
public void DeleteProduct(Models.Product product) { using (var context = new SketchyProductsEntities()) { var productToDelete = context.Products.Single(s => s.ProductId == product.Id); context.Products.Remove(productToDelete); context.SaveChanges(); } }
public Models.Product GetProductById(int id) { using (var context = new SketchyProductsEntities()) { var productDb = context.Products.SingleOrDefault(p => p.ProductId == id); var product = Mapper.Map <Models.Product>(productDb); foreach (var detail in productDb.ProductDetails) { product.Details.Add(detail.DetailText); } return(product); } }
private void AddProductToModel(int id, string detail) { using (var context = new SketchyProductsEntities()) { var productDetail = new ProductDetail { ProductId = id, DetailText = detail }; context.ProductDetails.Add(productDetail); context.SaveChanges(); } }
public IEnumerable <Models.Product> GetAllProducts() { using (var context = new SketchyProductsEntities()) { foreach (var items in context.Products.ToList()) { var product = Mapper.Map <Models.Product>(items); foreach (var detail in items.ProductDetails) { product.Details.Add(detail.DetailText); } yield return(product); } } }
public Models.Product CreateProduct(Models.Product product) { var newestProduct = product; using (var context = new SketchyProductsEntities()) { var productToAdd = Mapper.Map <Product>(product); var productAdded = context.Products.Add(productToAdd); context.SaveChanges(); newestProduct = Mapper.Map <Models.Product>(productAdded); } foreach (var detail in product.Details) { AddProductToModel(newestProduct.Id, detail); } return(newestProduct); }
private int GetCartIdFromCurrentCart(SketchyProductsEntities context, string userId, Cart currentCart) { var cartId = 0; if (currentCart is null) { var cart = new Cart() { UserId = userId }; cart = context.Carts.Add(cart); context.SaveChanges(); cartId = cart.Id; } else { cartId = currentCart.Id; } return(cartId); }