Example #1
0
        public void ShoppingCartTotalWithTwoSameItem()
        {
            myItem.CartId      = "1";
            myItem.DateCreated = new DateTime(2014, 1, 1);
            myItem.ItemId      = "1";
            myItem.Product     = new Product
            {
                ProductID   = 1,
                ProductName = "Test",
                Description = "Test",
                UnitPrice   = 100.00,
                CategoryID  = 1
            };
            myItem.ProductId = 1;
            myItem.Quantity  = 2; //make quantity of one item to multiple to test that totals are adding correclty

            ShoppingCartObject scObject = new ShoppingCartObject();

            scObject.sc_CartItemList.Add(myItem);

            double total = scObject.getTotal();

            //Assert
            Assert.AreEqual(200.00, total);
        }
Example #2
0
        public ActionResult ProcessShoppingCart(ShoppingCartObject cart, string subdomain)
        {
            try
            {
                if (cart == null || !cart.ShopingCartItemObjects.Any())
                {
                    return(Json(0, JsonRequestBehavior.AllowGet));
                }

                var store = new SessionHelpers().GetStoreInfo(subdomain);
                if (store == null || store.StoreId < 1)
                {
                    return(Json(new StoreItemStockObject(), JsonRequestBehavior.AllowGet));
                }

                if (string.IsNullOrEmpty(cart.CustomerIpAddress))
                {
                    cart.CustomerIpAddress = ClientIpHelper.GetClientIpAddress(Request);
                }

                cart.DateInitiated = DateTime.Now;
                var processStatus = new DefaultServices().ProcessShoppingCart(cart);

                return(Json(processStatus, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(new StoreItemStockObject(), JsonRequestBehavior.AllowGet));
            }
        }
Example #3
0
        public void ShoppingCartTotalWithOneItem()
        {
            myItem.CartId      = "1";
            myItem.DateCreated = new DateTime(2014, 1, 1);
            myItem.ItemId      = "1";
            myItem.Product     = new Product
            {
                ProductID   = 1,
                ProductName = "Test",
                Description = "Test",
                UnitPrice   = 219.99,
                CategoryID  = 1
            };
            myItem.ProductId = 1;
            myItem.Quantity  = 1;

            ShoppingCartObject scObject = new ShoppingCartObject();

            scObject.sc_CartItemList.Add(myItem);

            double total = scObject.getTotal();

            //Assert
            Assert.AreEqual(219.99, total);
        }
        public async Task <IActionResult> AddtoCart([Bind("MenuItemId,Count")] ShoppingCartObject cartObj)
        {
            if (ModelState.IsValid)
            {
                //var itemsCount = Convert.ToInt32(Request.Form["quantity"].ToString());
                var userId = (this.User.Identity as ClaimsIdentity).FindFirst(ClaimTypes.NameIdentifier).Value;
                //cartObj.Count = itemsCount;
                ShoppingCart cart = await db.ShoppingCarts.Where(c => c.AppUserId == userId && c.MenuItemId == cartObj.MenuItemId).FirstOrDefaultAsync();

                if (cart == null)
                {
                    var newCart = new ShoppingCart
                    {
                        Id         = 0,
                        AppUserId  = userId,
                        Count      = cartObj.Count,
                        MenuItemId = cartObj.MenuItemId
                    };

                    await db.ShoppingCarts.AddAsync(newCart);
                }
                else
                {
                    cart.Count += cartObj.Count;
                }
                await db.SaveChangesAsync();

                var itemscount = db.ShoppingCarts.Where(c => c.AppUserId == userId).ToList().Count();
                HttpContext.Session.SetInt32(SD.CartCount, itemscount);
                return(Json(cartObj));
            }
            return(new StatusCodeResult(StatusCodes.Status400BadRequest));
        }
Example #5
0
        public void ShoppingCartTotalWithTwoDifferentItems()
        {
            //First Item
            myItem.CartId      = "1";
            myItem.DateCreated = new DateTime(2014, 1, 1);
            myItem.ItemId      = "1";
            myItem.Product     = new Product
            {
                ProductID   = 1,
                ProductName = "Test",
                Description = "Test",
                ImagePath   = "test.jpg",
                UnitPrice   = 100.00,
                CategoryID  = 1
            };
            myItem.ProductId = 1;
            myItem.Quantity  = 1;

            //Second Item
            CartItem myItem2 = new CartItem(); //create a second item

            myItem2.CartId      = "1";
            myItem2.DateCreated = new DateTime(2014, 1, 1);
            myItem2.ItemId      = "2";
            myItem2.Product     = new Product
            {
                ProductID   = 2,
                ProductName = "test",
                Description = "test",
                ImagePath   = "nexusElevate.jpg",
                UnitPrice   = 100.00,
                CategoryID  = 1
            };
            myItem2.ProductId = 2;
            myItem2.Quantity  = 1;

            //Create Shopping Cart
            ShoppingCartObject scObject = new ShoppingCartObject();

            scObject.sc_CartItemList.Add(myItem);  //add first item to shopping cart
            scObject.sc_CartItemList.Add(myItem2); //add second item to the shopping cart

            double total = scObject.getTotal();    //set total to the method we have to get actual total when these are here

            //Assert if hard coded value and method to retrieve are equal.
            Assert.AreEqual(200.00, total);
        }
Example #6
0
        public void ShoppingCartTotalWithDifferentItemsAndQuantities()
        {
            //First Item
            myItem.CartId      = "1";
            myItem.DateCreated = new DateTime(2014, 1, 1);
            myItem.ItemId      = "1";
            myItem.Product     = new Product
            {
                ProductID   = 1,
                ProductName = "Test",
                Description = "Test",
                UnitPrice   = 100.00,
                CategoryID  = 1
            };
            myItem.ProductId = 1;
            myItem.Quantity  = 1;

            //Second Item
            CartItem myItem2 = new CartItem(); //create a second item

            myItem2.CartId      = "1";
            myItem2.DateCreated = new DateTime(2014, 1, 1);
            myItem2.ItemId      = "2";
            myItem2.Product     = new Product
            {
                ProductID   = 2,
                ProductName = "test",
                Description = "test",
                ImagePath   = "nexusElevate.jpg",
                UnitPrice   = 100.00,
                CategoryID  = 1
            };
            myItem2.ProductId = 2;
            myItem2.Quantity  = 2;

            ShoppingCartObject scObject = new ShoppingCartObject();

            scObject.sc_CartItemList.Add(myItem);
            scObject.sc_CartItemList.Add(myItem2); //add second item to the shopping cart

            double total = scObject.getTotal();

            //Assert
            Assert.AreEqual(300, total);
        }
        public async Task <IActionResult> Details([Bind("MenuItemId,Count")] ShoppingCartObject cartObj)
        {
            if (ModelState.IsValid)
            {
                var itemsCount = Convert.ToInt32(Request.Form["quantity"].ToString());
                var userId     = (this.User.Identity as ClaimsIdentity).FindFirst(ClaimTypes.NameIdentifier).Value;
                cartObj.Count = itemsCount;
                ShoppingCart cart = await db.ShoppingCarts.Where(c => c.AppUserId == userId && c.MenuItemId == cartObj.MenuItemId).FirstOrDefaultAsync();

                if (cart == null)
                {
                    var newCart = new ShoppingCart
                    {
                        Id        = 0,
                        AppUserId = userId,
                        Count     = itemsCount
                    };

                    await db.ShoppingCarts.AddAsync(newCart);
                }
                else
                {
                    cart.Count += itemsCount;
                }
                await db.SaveChangesAsync();

                var itemscount = db.ShoppingCarts.Where(c => c.AppUserId == userId).ToList().Count();
                HttpContext.Session.SetInt32(SD.CartCount, itemscount);
                //return RedirectToAction(nameof(Index));
            }
            var menuItem = await db.MenuItems
                           .Include(c => c.Catagory)
                           .Include(c => c.SubCatagory)
                           .FirstOrDefaultAsync(c => c.Id == cartObj.MenuItemId);

            var cartobj = new ShoppingCart
            {
                MenuItem   = menuItem,
                MenuItemId = menuItem.Id
            };

            return(View(cartobj));
        }
Example #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ShoppingCartActions actions = new ShoppingCartActions();

            this.CartId = actions.GetCartId();

            this.ShoppingCart_Object = new ShoppingCartObject(this.CartId);

            if (this.ShoppingCart_Object.sc_CartItemList.Count > 0)
            {
                lblTotal.Text = String.Format("{0:c}", ShoppingCart_Object.getTotal());
            }
            else
            {
                LabelTotalText.Text         = "";
                lblTotal.Text               = "";
                ShoppingCartTitle.InnerText = "Shopping Cart is Empty";
                UpdateBtn.Visible           = false;
                CheckoutImageBtn.Visible    = false;
            }
        }
 public int UpdateShoppingCart(ShoppingCartObject shoppingCart)
 {
     try
     {
         if (shoppingCart == null)
         {
             return(-2);
         }
         var shoppingCartEntity = ModelCrossMapper.Map <ShoppingCartObject, ShoppingCart>(shoppingCart);
         if (shoppingCartEntity == null || shoppingCartEntity.ShoppingCartId < 1)
         {
             return(-2);
         }
         _repository.Update(shoppingCartEntity);
         _uoWork.SaveChanges();
         return(5);
     }
     catch (Exception ex)
     {
         ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
         return(-2);
     }
 }
        public long AddShoppingCart(ShoppingCartObject shoppingCart)
        {
            try
            {
                if (shoppingCart == null)
                {
                    return(-2);
                }

                var shoppingCartEntity = ModelCrossMapper.Map <ShoppingCartObject, ShoppingCart>(shoppingCart);
                if (shoppingCartEntity == null || shoppingCartEntity.CustomerId < 1)
                {
                    return(-2);
                }
                var returnStatus = _repository.Add(shoppingCartEntity);
                _uoWork.SaveChanges();
                return(returnStatus.ShoppingCartId);
            }
            catch (Exception ex)
            {
                ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
Example #11
0
 public ShoppingCartObject ProcessShoppingCart(ShoppingCartObject cart)
 {
     return(_defaultsRepository.ProcessShoppingCart(cart));
 }