public async Task Checkout(Basket basket) { var checkout = checkoutService.Checkout(basket); cache.Set(checkout.OrderId, Context.ConnectionId); await Clients.Caller.SendAsync("OnCheckoutDone", checkout); }
public void ShouldApplyDiscountsOnCheckout() { // Given var shoppingBasket = new ShoppingBasket { Products = new List <Product> { new Bread { ProductType = ProductType.BREAD }, new Butter { ProductType = ProductType.BUTTER }, new Milk { ProductType = ProductType.MILK } }, Total = 0.0 }; _mockDiscountService.Setup(d => d.ApplyDiscounts(It.IsAny <ShoppingBasket>())); // When _checkoutService.Checkout(shoppingBasket); // Then _mockDiscountService.Verify(d => d.ApplyDiscounts(It.IsAny <ShoppingBasket>()), Times.Once); }
public IActionResult Checkout([FromBody] OrderDto order) { // Currently just use UserName for simplicity order.CustomerId = User.FindFirst(ClaimTypes.Name).Value; var result = _mapper.Map <CheckoutDto>(_checkoutService.Checkout(order)); return(Json(result)); }
public void RunScenario() { foreach (var item in Items) { _checkoutService.Scan(item); } var total = _checkoutService.Checkout(); Assert.AreEqual(2.4m, total); }
public ActionResult <CartDto> ProceedToCheckOut(CartDto cart) { var defaultCartItems = _cartService.GetCartItems(); var cartDto = new CartDto { CartId = Guid.NewGuid().ToString(), CartItems = cart.CartItems != null && cart.CartItems.Count() > 0 && cart.CartItems.FirstOrDefault().Quantity > 0 ? cart.CartItems : defaultCartItems }; var result = _checkoutService.Checkout(cartDto); return(result); }
public void Checkout() { // take payment and authorise CheckoutPaymentDetail checkoutDetail = new CheckoutPaymentDetail(); checkoutDetail.CardNumber = View.CardNumber; checkoutDetail.CustomerName = View.CustomerName; _checkoutService.Checkout(checkoutDetail); // redirect to confirmation page Navigation.GoTo(ViewPages.Confirmation); }
public ActionResult Checkout(OrderViewModel orderViewModel) { var cart = Session[ConstantCommon.Cart]; var cartItems = (List <ShoppingCartItem>)cart; if (cartItems.Count == 0) { ModelState.AddModelError("", "Giỏ hàng của bạn hiện trống không ah ^_^, chọn mua vài cuốn nhé!"); } if (ModelState.IsValid) { List <OrderDetail> orderDetails = new List <OrderDetail>(); foreach (var item in cartItems) { var orderDetail = new OrderDetail() { Book = item.Book, BookId = item.BookId, Quantity = item.Quantity, UnitPrice = item.Book.Price, }; orderDetails.Add(orderDetail); } var order = new Order() { ShipName = orderViewModel.ShipName, ShipAddress = orderViewModel.ShipAddress, ShipCity = orderViewModel.ShipCity, PhoneNumber = orderViewModel.PhoneNumber }; _checkoutService.Checkout(order, orderDetails); cartItems.Clear(); return(RedirectToAction("CheckoutComplete")); } return(View(orderViewModel)); }
public async Task <IActionResult> Post([FromBody] CheckoutRequest request) { if (request == null || request.PostalCode == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest()); } var checkoutResult = await _checkoutService.Checkout(request.PostalCode); var response = new CheckoutResponse() { PreTax = checkoutResult.PreTax, PostTax = checkoutResult.PostTax }; return(new OkObjectResult(response)); }
public async Task <CheckoutDto> Checkout([FromQuery] string userId) { try { var checkout = await _checkoutService.Checkout(userId); return(new CheckoutDto() { Date = checkout.Date, TotalPrice = checkout.TotalPrice, Products = checkout.Products.Select(product => new CheckoutItem() { ProductId = product.Product.Id, ProductName = product.Product.Name, Price = product.Price, Quantity = product.Quantity }).ToList() }); } catch (Exception error) { throw error; } }
public IActionResult OnPost() { checkoutService.Checkout(Cart, Person); return(RedirectToPage("PostCheckout")); }
public ActionResult <Checkout> Checkout(Basket basket) { return(checkoutService.Checkout(basket)); }