private Cart AddNewCart(int productId, int count, bool trade = false) { if (!DataManager.Products.SearchFor(x => x.Id == productId).Any()) { throw new Exception("Товар не найден"); } var product = DataManager.Products.SearchFor(x => x.Id == productId).Single(); int markup = 0; double price = 0; if (product.MarkupId != null && DataManager.Markups.SearchFor(t => t.Id == product.MarkupId).Any()) { if (trade) { markup = DataManager.Markups.SearchFor(t => t.Id == product.MarkupId).First().TradeMarkup; } else { markup = DataManager.Markups.SearchFor(t => t.Id == product.MarkupId).First().RetailMarkup; } } if (!trade) { price = (product.ShoppingPrice + (product.ShoppingPrice * markup / 100)); } else { price = product.ShoppingPrice + (product.ShoppingPrice * markup / 100); } var cart = new Cart() { ProductId = productId, Count = count, Price = price, CartId = ShoppingCartId, DateCreated = DateTime.Now }; DataManager.Carts.Insert(cart); return cart; }
public Cart SetProductCount(Cart cart, int count) { if (cart == null) throw new ArgumentException("Нет такого товара в корзине"); if (count <= 0) throw new ArgumentException("Кол-во товара всегда больше 0"); cart.Count = count; DataManager.Carts.Edit(cart); return cart; }