public void ShoppingCartItem_Add(ShoppingCartItem currentShoppingCartItem) { using (eToolContext context = new eToolContext()) { context.ShoppingCartItems.Add(currentShoppingCartItem); context.SaveChanges(); } }
//[DataObjectMethod(DataObjectMethodType.Insert,false)] it is only for view, e.g: listview.... public void AddToCart(string currentUserName, int stockItemID, int quantity) { using (eToolContext context = new eToolContext()) { var currentCustomer = context.OnlineCustomers.FirstOrDefault( x => x.UserName == currentUserName); if (currentCustomer == null) { OnlineCustomer newCustomer = new OnlineCustomer(); newCustomer.UserName = currentUserName; newCustomer.CreatedOn = DateTime.Now; // Or //OnlineCustomer currentCustomer = new OnlineCustomer() //{ // UserName = user.Identity.Name, // CreatedOn = DateTime.Now //}; currentCustomer = context.OnlineCustomers.Add(newCustomer); context.SaveChanges(); } var currentShoppingCart = context.ShoppingCarts.FirstOrDefault( x => x.OnlineCustomer.UserName == currentUserName); if (currentShoppingCart == null) { ShoppingCart newShoppingCart = new ShoppingCart() { OnlineCustomerID = currentCustomer.OnlineCustomerID, CreatedOn = DateTime.Now }; currentShoppingCart = context.ShoppingCarts.Add(newShoppingCart); context.SaveChanges(); } ShoppingCartItem currentCartItem = new ShoppingCartItem() { ShoppingCartID = currentShoppingCart.ShoppingCartID, StockItemID = stockItemID, Quantity = quantity }; foreach (ShoppingCartItem cartItem in context.ShoppingCartItems) { if(cartItem.ShoppingCartID == currentShoppingCart.ShoppingCartID && cartItem.StockItemID == stockItemID) { context.Entry<ShoppingCartItem>(context.ShoppingCartItems.Attach(currentCartItem)).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } else if(cartItem.ShoppingCartID == currentShoppingCart.ShoppingCartID && cartItem.StockItemID != stockItemID) { //context.ShoppingCartItems.Add(currentCartItem); currentCartItem = context.ShoppingCartItems.Add(currentCartItem); } } //??? should be another way to update var currentStockItem = from skItem in context.StockItems where skItem.StockItemID == stockItemID select new StockItem { StockItemID = skItem.StockItemID, Description = skItem.Description, SellingPrice = skItem.PurchasePrice, PurchasePrice = skItem.PurchasePrice, QuantityOnHand = skItem.QuantityOnHand - quantity, QuantityOnOrder = skItem.QuantityOnOrder,//??? is this for customer or for vendor ReOrderLevel = skItem.ReOrderLevel, Discontinued = skItem.Discontinued, VendorID = skItem.VendorID, VendorStockNumber = skItem.VendorStockNumber, CategoryID = skItem.CategoryID }; context.Entry<StockItem>(context.StockItems.Attach((StockItem)currentStockItem)).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } }
public void AddToCart( int ProductId, int Quantities) { eToolDBContext ShoppingCartHeart = new eToolDBContext(); var cartItem = ShoppingCartHeart.ShoppingCartItems.SingleOrDefault(x => x.StockItem.StockItemID == ProductId && x.ShoppingCartID == ProductId); if(cartItem == null) { cartItem = new ShoppingCartItem { ShoppingCartID = ProductId, StockItemID = ProductId, Quantity = Quantities }; ShoppingCartHeart.ShoppingCartItems.Add(cartItem); } else { Quantities = cartItem.Quantity + Quantities; } ShoppingCartHeart.SaveChanges(); //var cartItem = addData.StockItems.Single(x => x.StockItemID == ProductId); //cartItem = new StockItem //{ // StockItemID = ProductId, // Description = cartItem.Description, // SellingPrice = cartItem.SellingPrice, // PurchasePrice = cartItem.PurchasePrice, // QuantityOnHand = cartItem.QuantityOnHand, // QuantityOnOrder = Quantities, // ReOrderLevel = cartItem.ReOrderLevel, // Discontinued = cartItem.Discontinued, // VendorID = cartItem.VendorID, // VendorStockNumber = cartItem.VendorStockNumber, // CategoryID = cartItem.CategoryID //}; //addData.StockItems.Add(cartItem); //addData.SaveChanges(); }