public void ScenarioA() { cart.AddCart(1, "A", 50, 1); cart.AddCart(2, "B", 30, 1); cart.AddCart(3, "C", 20, 1); var totalprice = cart.CheckOut(); Assert.AreEqual(100, totalprice); }
public async Task <IActionResult> Create([Bind("ID,ProductID,CartProductQuantity")] Cart cart) { if (ModelState.IsValid) { await _cart.SetCartTotal(cart); //BAD LOGIC <if you click on add wishlist then add cart for the same item //it will go to wishlist and remove the item> //if wishlist has the same item that was added to the cart, remove the item from the wishlist if (await _wishlist.HasSameItem(cart.ProductID)) { await _wishlist.DeleteSameItem(cart.ProductID); await _wishlist.SaveWishlist(); //if cart has the same item that was created , increase the quantity of that item. if (await _cart.HasSameItem(cart.ProductID)) { await IncreaseProductQuantity(cart, cart.CartProductQuantity); return(RedirectToRoute(new { controller = "Wishlist", action = "index" })); } _cart.AddCart(cart); await _cart.SaveCart(); return(RedirectToRoute(new { controller = "Wishlist", action = "index" })); } //if cart has the same item that was created, increase the quantity of that item. if (await _cart.HasSameItem(cart.ProductID)) { await IncreaseProductQuantity(cart, cart.CartProductQuantity); return(RedirectToAction(nameof(Index))); } _cart.AddCart(cart); await _cart.SaveCart(); return(RedirectToAction(nameof(Index))); } return(View(nameof(Index))); }
public async Task <GetCartViewModel> Execute() { var validations = _modelStateAccessor.ModelState.ValidateModel(); if (validations.Any()) { return(SetValidationsAndReturn(validations)); } else { var cart = CreateCart(); await _cartRepository.UpdateCartStatus(cart.ExternalKey, false); cart.Client = await _clientRepository.GetClientFromDocumentId(Model.Client.DocumentId); if (cart.Client == null) { CreateClient(cart); } cart.ClientKey = cart.Client.Key; await _cartRepository.AddCart(cart); return(new GetCartViewModel { Key = cart.Key, ExternalKey = cart.ExternalKey, ChargeValue = cart.ChargeValue, ClientDocumentId = cart.Client.DocumentId }); } }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.LinesCollection.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { _customerManager = new UserManager <Customer>(new UserStore <Customer>(_context)); Customer currentCustomer = _customerManager.FindByName(HttpContext.User.Identity.Name); //_orderProcessor.ProcessOrder(cart, shippingDetails); cart.CustomerId = currentCustomer.Id; _cartRepository.AddCart(cart); foreach (var line in cart.LinesCollection) { line.CartId = cart.CartId; _cartLineRepository.CreateLine(line); } cart.LinesCollection.ToList().ForEach(c => _context.Entry(c).State = System.Data.Entity.EntityState.Deleted); cart.Clear(); return(View("Completed")); } else { return(View(shippingDetails)); } }
public async Task <HttpResponseMessage> AddToCart(CartViewModel cart, string token) { using (HttpClient client = new HttpClient()) { var contentType = new MediaTypeWithQualityHeaderValue("application/json"); client.DefaultRequestHeaders.Accept.Add(contentType); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); client.BaseAddress = new Uri("https://localhost:44363/"); //client.BaseAddress = new Uri("http://52.189.64.29/"); var jsonstring = JsonConvert.SerializeObject(cart); var obj = new StringContent(jsonstring, System.Text.Encoding.UTF8, "application/json"); var response = await client.PostAsync("api/ProceedToBuy/AddToCart/", obj); if (response.StatusCode == System.Net.HttpStatusCode.OK) { CartDto dto = new CartDto() { CustomerId = cart.Customer_Id, ProductId = cart.Product_Id, Zipcode = cart.ZipCode, DeliveryDate = cart.DeliveryDate }; await _repo.AddCart(dto); } return(response); } }
public async Task <ActionResult> PostCart([Bind("ID,ProductID,CartProductQuantity")] Cart cart) { if (ModelState.IsValid) { await _cart.SetCartTotal(cart); //BAD LOGIC //if wishlist has the same item that was added to the cart, remove the item from the wishlist if (await _wishlist.HasSameItem(cart.ProductID)) { await _wishlist.DeleteSameItem(cart.ProductID); await _wishlist.SaveWishlist(); } //if cart has the same item that was created, increase the quantity of that item. if (await _cart.HasSameItem(cart.ProductID)) { await IncreaseProductQuantity(cart, cart.CartProductQuantity); return(Ok(GetCart(cart.ProductID).Result)); } _cart.AddCart(cart); await _cart.SaveCart(); return(Ok(GetCart(cart.ProductID).Result)); } return(BadRequest()); }
public IActionResult SelectDiscount(string armChairId, string showId, string discountByShowId) { if (string.IsNullOrEmpty(armChairId) || string.IsNullOrEmpty(showId) || string.IsNullOrEmpty(discountByShowId)) { return(NotFound()); } var cart = new Cart { ArmChairId = armChairId, CartId = Guid.NewGuid().ToString(), User = UserManager.FindByNameAsync(User.Identity.Name).Result, DiscountsByShowId = discountByShowId, DateTime = DateTime.Now }; var armChairByRoom = CartRepository.GetArmChairByRoomById(armChairId, showId); armChairByRoom.StateArmChair = StateArmChair.sold; CartRepository.UpdateArmChairByRoom(armChairByRoom); CartRepository.AddCart(cart); var discounstByShow = CartRepository.GetDiscountByShowById(discountByShowId); var userBouthArmChair = new UserBoughtArmChair { ShowId = discounstByShow.ShowId, Show = discounstByShow.Show, UserBoughtArmChairId = Guid.NewGuid().ToString(), UserId = UserManager.FindByNameAsync(User.Identity.Name).Result.Id, ArmChairByRoomId = CartRepository.GetArmChairByRoomById(armChairId, showId).ArmChairByRoomId }; CartRepository.AddUserBoughtArmChair(userBouthArmChair); return(RedirectToAction("SelectArmChair", new Dictionary <string, string> { { "id", discounstByShow.ShowId } })); }
public ActionResult AddCart(long productId, int quanlity, decimal pricePerProduct) { var customer = Session["CUSTOMER"] as Customer; Cart cart = new Cart { CustomerId = customer.Id }; try { var cartId = _cartRepository.AddCart(cart); CartItem cartItem = new CartItem() { CartId = cartId, ItemStatus = Constants.PENDING, PricePerProduct = pricePerProduct, Quantity = quanlity, ProductId = productId }; _cartItemRepository.AddCartItem(cartItem); return(RedirectToAction("LoadCartList", "Cart")); //ShopCartViewModel shopCartViewModel = GetCartPageViewData(null, null); //return View("ShopCart", shopCartViewModel); } catch (System.Exception) { throw; } }
public async Task <ActionResult <Models.Cart> > Post(CartForCreation cartForCreation) { var cart = _mapper.Map <Entities.Cart>(cartForCreation); _cartRepository.AddCart(cart); await _cartRepository.SaveChanges(); var cartToReturn = _mapper.Map <Models.Cart>(cart); return(CreatedAtRoute( "GetCart", new { cartId = cart.CartId }, cartToReturn)); }
private void btnAddTocart_Click(object sender, EventArgs e) { try { _cart.AddCart(cmbProducts.SelectedIndex, cmbProducts.Text, int.Parse(txtPrice.Text), 1); decimal total = 0; lblCount.Text = Convert.ToString(_cart.CalculateCart(out total)); lblTotalPrice.Text = total.ToString(); } catch (Exception er) { MessageBox.Show(er.Message); } }
public CartModule(ILog logger, ICartRepository repository) : base("/Cart") { Get["/{CartId}/"] = parameters => { logger.Info("Getting cart"); var result = repository.GetCart(parameters.CartId); logger.Info("Cart fetched"); return(result); }; Post["/"] = parameters => { logger.Info("Adding cart"); var request = this.Bind <CartAddRequest>(); var result = repository.AddCart(request.CartId, request.ProductId); logger.Info(string.Format("Item added {0}", request.ProductId)); return(result); }; }
public int AddCart(CartItemsEntity tblcart) { if (tblcart != null) { return(_context.AddCart(new DataLayer.Context.TblCart() { //Id = tblcart.CartId, TblCustomerID = tblcart.TblCustomerID, TblRestaurantID = tblcart.TblRestaurantID, TblMenuID = tblcart.TblMenuID, Price = tblcart.Price, Quantity = tblcart.Quantity, status = tblcart.Status, offer = tblcart.offer, RecordTimeStampCreated = DateTime.Now, RecordTimeStamp = DateTime.Now })); } return(0); }
public Task <int> AddCart(CartModel cartModel) { return(cartRepository.AddCart(cartModel)); }
/// <summary> /// Adds the cart. /// </summary> /// <param name="cartModel">The cart model.</param> /// <returns></returns> public int AddCart(CartModel cartModel) { return(cartRepository.AddCart(cartModel)); }