public int ReduceCartItem(sf_CartItemObj cart, string conString = null)
        {
            var p = new DynamicParameters();

            //  p.Add("@ItemId", cart.ItemId, DbType.String);
            p.Add("@ItemId", cart.ItemId, DbType.Int32);
            p.Add("@Quantity", cart.Quantity, DbType.Int32);
            //p.Add("@UnitPrice", cart.UnitPrice, DbType.Decimal);
            p.Add("@LineTotal", cart.LineTotal, DbType.Decimal);

            p.Add("@CartId", cart.CartId, DbType.String);



            string sql = @"proc_ReduceCartItem";

            var rec = Execute(c => c.Execute(sql, p, commandType: CommandType.StoredProcedure), conString);

            return(rec);
        }
        public int PostCartItem(sf_CartItemObj cart, string conString = null)
        {
            var p = new DynamicParameters();

            p.Add("@Id", cart.ItemId, DbType.String);
            p.Add("@ItemId", cart.ItemId, DbType.Int32);
            p.Add("@Quantity", cart.Quantity, DbType.Int32);
            p.Add("@UnitPrice", cart.UnitPrice, DbType.Decimal);
            p.Add("@LineTotal", cart.LineTotal, DbType.Decimal);
            p.Add("@TaxValue", cart.TaxValue, DbType.Decimal);
            p.Add("@CartId", cart.CartId, DbType.String);
            p.Add("@Discount", cart.Discount, DbType.Decimal);
            p.Add("@CreatedDate", cart.CreatedDate, DbType.DateTime);
            // p.Add("@IsPickUp", cart.IsPickUp, DbType.Boolean);

            string sql = @"proc_PostCartItem";

            var rec = Execute(c => c.Execute(sql, p, commandType: CommandType.StoredProcedure), conString);

            return(rec);
        }
 public void ReduceItem(sf_CartItemObj cart)
 {
     //using (var _db = new WingtipToys.Models.ProductContext())
     //{
     try
     {
         ShoppingCartId = GetCartId();
         cart.CartId    = ShoppingCartId;
         //var myItem = (from c in _db.ShoppingCartItems where c.CartId == updateCartID && c.Product.ProductID == updateProductID select c).FirstOrDefault();
         //if (myItem != null)
         //{
         //    myItem.Quantity = quantity;
         //    _db.SaveChanges();
         //}
         var rst = _repo.ReduceCartItem(cart);
     }
     catch (Exception exp)
     {
         throw new Exception("ERROR: Unable to Update Cart Item - " + exp.Message.ToString(), exp);
     }
     // }
 }
        public void AddToCart(sf_CartItemObj item)
        {
            // Retrieve the product from the database.
            ShoppingCartId = GetCartId();

            //var cartItem = _db.ShoppingCartItems.SingleOrDefault(
            //    c => c.CartId == ShoppingCartId
            //    && c.ProductId == id);
            var cartItem = _repo.GetCartItem(item.ItemId, ShoppingCartId).FirstOrDefault();

            if (cartItem == null)
            {
                // Create a new cart item if no cart item exists.
                cartItem = new sf_CartItemObj
                {
                    Id        = Guid.NewGuid().ToString(),
                    ItemId    = item.ItemId,
                    CartId    = ShoppingCartId,
                    LineTotal = item.LineTotal,
                    UnitPrice = item.UnitPrice,

                    Quantity    = 1,
                    CreatedDate = DateTime.Now
                };

                // _db.ShoppingCartItems.Add(cartItem);
                _repo.PostCartItem(cartItem);
            }
            else
            {
                // If the item does exist in the cart,
                // then add one to the quantity.
                cartItem.Quantity++;
                _repo.UpdateCartItem(cartItem);
            }
            //  _db.SaveChanges();
        }