public async Task <IActionResult> AddToWishList(EventItem productDetails) { try { if (productDetails.Id != null) { var user = _identityService.Get(HttpContext.User); var product = new WishListItem() { Id = Guid.NewGuid().ToString(), Quantity = 1, ProductName = productDetails.Name, PictureUrl = productDetails.PictureUrl, UnitPrice = productDetails.Price, ProductId = productDetails.Id }; await _cartService.AddItemToWishList(user, product); } } catch (BrokenCircuitException) { // Catch error when CartApi is in circuit-opened mode HandleBrokenCircuitException(); } return(RedirectToAction("Index", "WishList")); }
public async Task <IActionResult> OnPost(CatalogItemViewModel productDetails) { if (productDetails?.Id == null) { return(RedirectToPage("/Index")); } await SetWishListModelAsync(); await _wishlistService.AddItemToWishList(WishListModel.Id, productDetails.Id); await SetWishListModelAsync(); return(RedirectToPage()); }
/// <summary> /// Insert CatalogItem to WishList /// Get or creat wish list for user /// </summary> /// <param name="productDetails"></param> /// <returns></returns> public async Task <IActionResult> OnPost(CatalogItemViewModel productDetails) { if (productDetails?.Id == null) { return(RedirectToPage("/Index")); } if (_signInManager.IsSignedIn(HttpContext.User)) { WishListModel = await _wishListViewModelService.GetOrCreateWishListForUser(User.Identity.Name); await _wishListService.AddItemToWishList(WishListModel.Id, productDetails.Id, productDetails.Price, productDetails.PriceSymbol); WishListModel = await _wishListViewModelService.GetOrCreateWishListForUser(User.Identity.Name); return(RedirectToPage()); } else { throw new Exception("You don't have valid authentication!"); } }