public async Task <IActionResult> AddToCart(EventItem productDetails) { try { if (productDetails.Id > 0) { var user = _identityService.Get(HttpContext.User); var product = new CartEventItem() { Id = Guid.NewGuid().ToString(), Quantity = 1, EventName = productDetails.EventName, PictureUrl = productDetails.EventImageUrl, UnitPrice = productDetails.Price, EventId = productDetails.Id.ToString() }; await _cartService.AddItemToCart(user, product); } return(RedirectToAction("Index", "Event")); } catch (BrokenCircuitException) { // Catch error when CartApi is in circuit-opened mode HandleBrokenCircuitException(); } return(RedirectToAction("Index", "Event")); }
public async Task AddItemToCart(ApplicationUser user, CartEventItem events) { var cart = await GetCart(user); _logger.LogDebug("User Name: " + user.Email); var basketItem = cart.Events .Where(e => e.EventId == events.EventId) .FirstOrDefault(); if (basketItem == null) { cart.Events.Add(events); } else { basketItem.Quantity += 1; } await UpdateCart(cart); }