/// <summary> /// The add to cart. /// </summary> /// <param name="id"> /// The id. /// </param> public void AddToCart(int id) { // Retrieve the product from the database. this.ShoppingCartId = this.GetCartId(); var currentList = GetCartItems(); var cartItem = currentList.SingleOrDefault( c => c.CartId == this.ShoppingCartId && c.Product.Id == id); if (cartItem == null) { // Create a new cart item if no cart item exists. cartItem = new CartItem { Pk = id + 1, ProductId = id, CartId = this.ShoppingCartId, Product = this._db.GetById(id), Quantity = 1, DateCreated = DateTime.Now }; this._db.ShoppingCartItems.Add(cartItem); } else { // If the item does exist in the cart, // then add one to the quantity. cartItem.Quantity++; } this._db.SaveChanges(); }
/// <summary> /// The get car item from record. /// </summary> /// <param name="record"> /// The record. /// </param> /// <returns> /// The <see cref="CartItem"/>. /// </returns> protected CartItem GetCarItemFromRecord(List<string> record) { if (record == null) return null; var caritem = new CartItem(); caritem.Product = new ArticleLogic(new ArticleOracleContext(), new BrandOracleContext(), new CategoryOracleContext(), new SpecificationOracleContext()).GetById(Convert.ToInt32(record[1])); caritem.ProductId = Convert.ToInt32(record[1]); caritem.Quantity = Convert.ToInt32(record[2]); return caritem; }
/// <summary> /// The insert order article. /// </summary> /// <param name="caritem"> /// The caritem. /// </param> /// <param name="order"> /// The order. /// </param> public void InsertOrderArticle(CartItem caritem, Order order) { var query = "INSERT INTO artikel_factuur (ordernummer, artikelnummer, aantal) VALUES (:ordernummer, :artikelnummer, :aantal)"; var parameters = new List<OracleParameter> { new OracleParameter("ordernummer", order.Id), new OracleParameter("artikelnummer", caritem.Product.Id), new OracleParameter("aantal", caritem.Quantity) }; Database.ExecuteNonQuery(query,parameters); }
/// <summary> /// The insert order article. /// </summary> /// <param name="caritem"> /// The caritem. /// </param> /// <param name="order"> /// The order. /// </param> public void InsertOrderArticle(CartItem caritem, Order order) { this._context.InsertOrderArticle(caritem, order); }