public async Task <IViewComponentResult> InvokeAsync(ApplicationUser user) { var vm = new CartComponentViewModel(); try { var cart = await cartSvc.GetCart(user.Email); if (cart.Items == null) { vm.ItemsInCart = 0; } else { vm.ItemsInCart = cart.Items.Count; } } catch (BrokenCircuitException) { // Catch error when CartApi is in open circuit mode ViewBag.IsBasketInoperative = true; } return(View(vm)); }
public async Task <IActionResult> UpdateCart() { var model = new CartComponentViewModel(); model.ItemsCount = (await GetCartViewModelAsync()).Items.Sum(i => i.Quantity); return(Ok(model)); }
public async Task <IViewComponentResult> InvokeAsync() { var viewModel = new CartComponentViewModel(); viewModel.ItemsCount = _cartService .GetProductCountFromSession(HttpContext.Session); return(View(viewModel)); }
public async Task <IViewComponentResult> InvokeAsync(ApplicationUser user) { var itemsInCart = await ItemsInCartAsync(user); var vm = new CartComponentViewModel() { ItemsCount = itemsInCart }; return(View(vm)); }
public async Task <IViewComponentResult> InvokeAsync(Buyer user) { var vm = new CartComponentViewModel(); try { var cart = await _cartApiClient.GetCart(user); vm.ItemsInCart = cart.Items.Count(); vm.TotalCost = cart.Total(); } catch (BrokenCircuitException) { ViewBag.IsCartInoperative = true; } return(View(vm)); }
public async Task <IViewComponentResult> InvokeAsync(ApplicationUser user) { var vm = new CartComponentViewModel(); try { var cart = await _service.GetCartAsync(user); vm.ItemsInCart = cart.Items.Count; vm.TotalCost = cart.Total(); return(View <CartComponentViewModel>(vm)); } catch (Exception) { ViewBag.IsCartInoperative = true; } return(View(vm)); }
public async Task <IViewComponentResult> InvokeAsync(Buyer user) { var vm = new CartComponentViewModel(); try { var cart = await _cartSvc.GetCart(user); vm.ItemsInCart = cart.Items.Count(); // vm.TotalCost = cart.Total(); } catch (BrokenCircuitException) { ViewBag.IsCartInoperative = true; } Console.WriteLine("number" + vm.ItemsInCart); return(View(vm)); }