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); }
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)); } }
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)); }
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); }
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)); }
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); } }
public ShoppingCartObject ProcessShoppingCart(ShoppingCartObject cart) { return(_defaultsRepository.ProcessShoppingCart(cart)); }