public async Task <IActionResult> Checkout([FromBody] CartCheckout checkout) { //Get Total price //Remove the basket //Send event to Event bus var basket = await _repository.GetBasket(checkout.UserName); if (basket == null) { return(BadRequest()); } var removed = await _repository.DeleteBasketById(checkout.UserName); if (!removed) { return(BadRequest()); } var eventMessage = _mapper.Map <BasketCheckoutEvent>(checkout); eventMessage.RequestId = Guid.NewGuid(); eventMessage.TotalPrice = basket.TotalPrice; try { _eventBus.PublishBasketCheckOut(EventBusConstants.BasketCheckoutQueue, eventMessage); } catch (Exception) { throw; } return(Accepted()); }
public async Task <IActionResult> Checkout([FromBody] CartCheckout cartCheckout) { //Get Total Price of Cart //Remove Cart //Send Checkout event to rabbitmq var cartDetails = await _cartRepository.GetCart(cartCheckout.UserName); if (cartDetails == null) { return(BadRequest()); } // var cartRemove = await _cartRepository.DeleteCart(cartDetails.UserName); // if (!cartRemove) { return BadRequest(); } var eventMessage = _mapper.Map <CartCheckoutEvent>(cartCheckout); eventMessage.RequestId = Guid.NewGuid(); eventMessage.Total = cartDetails.Total; try { _eventBusRabbitMQProducer.PubishCheckout(EventBusConstants.CartCheckoutQueue, eventMessage); } catch (Exception) { throw; } return(Accepted()); }
public CartCheckout PurchaseCart() { using (var ctx = new ApplicationDbContext()) { var cartEntity = ctx.Carts.Include(e => e.GearInCart).Single(e => e.UserId == _userId); var model = new CartCheckout() { Subtotal = cartEntity.Subtotal, TotalCost = cartEntity.TotalCost }; ctx.Carts.Remove(cartEntity); foreach (var gear in ctx.GearInCarts) { if (gear.UserId == _userId) { ctx.GearInCarts.Remove(gear); } } ctx.SaveChanges(); return(model); } }
public void OrderSummary() { Assert.AreEqual(TotalProduct.Text, "$16.51"); Assert.AreEqual(TotalShipping.Text, "$2.00"); Assert.AreEqual(Tax.Text, "$0.74"); Assert.AreEqual(Total.Text, "$19.25"); CartCheckout.Click(); Thread.Sleep(10000); }
public CreateOrder( IOrderManager orderManager, CartCheckout cartCheckout, IEmailSink emailSink, IEmailTemplateFactory emailTemplateFactory) { _orderManager = orderManager; _cartCheckout = cartCheckout; _emailSink = emailSink; _emailTemplateFactory = emailTemplateFactory; }
public async Task <IActionResult> Checkout([FromBody] CartCheckout cartCheckout) { var basket = await _repo.GetCart(cartCheckout.Username); if (basket == null) { return(BadRequest()); } var eventMsg = _mapper.Map <BasketCheckoutEvent>(cartCheckout); eventMsg.TotalPrice = basket.TotalPrice; await _publishEndpoint.Publish(eventMsg); await _repo.DeleteCart(basket.Username); return(Accepted()); }
public async Task <IActionResult> Checkout([FromBody] CartCheckout cartCheckout) { // get existing basket with total price var cart = await _cartService.GetCartByCustomerIdAsync(cartCheckout.CustomerId); if (cart == null) { return(BadRequest()); } // send checkout event to rabbitmq cartCheckout.TotalPrice = cart.TotalPrice; await _publishEndpoint.Publish <CartCheckout>(cartCheckout); // remove the basket await _cartService.DeleteCartAsync(cart.Id); return(Accepted()); }
public async Task <IActionResult> Checkout([FromBody] CartCheckout CartCheckout, [FromHeader(Name = "x-requestid")] string requestId) { var borrowerId = _service.GetUserIdentity(); CartCheckout.RequestId = (Guid.TryParse(requestId, out Guid guid) && guid != Guid.Empty) ? guid : CartCheckout.RequestId; var Cart = await _repository.GetCartAsync(borrowerId); if (Cart is null) { return(BadRequest()); } var eventMessage = new UserCheckoutAcceptedIntegrationEvent(); _eventBus.Publish(eventMessage); return(Accepted()); }
///////////////////////////////////// ////// Methods //////////// public static void Menu() { string input = CartMenu.Print(); switch (input) { case "1": CartCheckout.Print(); Cart.Menu(); break; case "2": Cart.Menu(); break; case "m": break; default: Cart.Menu(); break; } }
public CartCheckout GetCurrentCheckoutInformation(string username) { using (var context = new EBContext()) { CartCheckout result = (from items in context.ShoppingCarts where items.OnlineCustomer.UserName.Equals(username) select new CartCheckout { SubTotal = items.ShoppingCartItems.Sum(p => p.Quantity * p.Part.SellingPrice), Total = items.ShoppingCartItems.Sum(p => p.Quantity * p.Part.SellingPrice), ShoppingCartItems = (from data in items.ShoppingCartItems orderby data.Part.Description select new CartItems { Description = data.Part.Description, Qty = data.Quantity, UnitPrice = data.Part.SellingPrice, ItemTotal = data.Quantity * data.Part.SellingPrice, ShoppingCartItemID = data.ShoppingCartItemID }).ToList() }).FirstOrDefault(); return(result); } }
public async Task <ActionResult> CheckoutAsync([FromBody] CartCheckout basketCheckout) { //Willl be implement soon return(Accepted()); }
public async Task <bool> CheckoutAsync(CartCheckout cartCheckout) { return(await cartApi.CheckoutCartAsync(cartCheckout)); }