public JsonResult GetCurrentCart() { try { var id = CommerceUserContext.Current.UserId; var cart = CartCacheHelper.GetCart(id); CartApiModel cartResult; // The following condition stops the creation of empty carts on startup. if (cart == null && CartCookieHelper.DoesCookieExistForCustomer(id)) { var response = CartManager.GetCart(CommerceUserContext.Current.UserId, true); cartResult = new CartApiModel(response.ServiceProviderResult); if (response.ServiceProviderResult.Success && response.Result != null) { cartResult.Initialize(response.ServiceProviderResult.Cart); if (response.ServiceProviderResult.Cart != null) { CartCacheHelper.AddCartToCache(response.ServiceProviderResult.Cart as CommerceCart); } } } else { cartResult = new CartApiModel(); cartResult.Initialize(cart); } return(Json(cartResult, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new ErrorApiModel("GetCurrentCart", e), JsonRequestBehavior.AllowGet)); } }
public CSCartBaseJsonResult GetCurrentCart() { var id = this.CurrentVisitorContext.GetCustomerId(); var cart = _cartCacheService.GetCart(id); CSCartBaseJsonResult cartResult; // The following condition stops the creation of empty carts on startup. if (cart == null && CartCookieHelper.DoesCookieExistForCustomer(id)) { var response = _cartManager.GetCurrentCart(CurrentStorefront, CurrentVisitorContext, true); cartResult = new CSCartBaseJsonResult(response.ServiceProviderResult); if (response.ServiceProviderResult.Success && response.Result != null) { cartResult.Initialize(response.ServiceProviderResult.Cart, _productResolver); if (response.ServiceProviderResult.Cart != null) { _cartCacheService.AddToCart(response.ServiceProviderResult.Cart as CommerceCart); } } } else { cartResult = new CSCartBaseJsonResult(); cartResult.Initialize(cart, _productResolver); } return(cartResult); }
public JsonResult GetCurrentCart() { try { var id = this.CurrentVisitorContext.GetCustomerId(); var cartCache = CommerceTypeLoader.CreateInstance <CartCacheHelper>(); var cart = cartCache.GetCart(id); AXCartBaseJsonResult cartResult; // The following condition stops the creation of empty carts on startup. if (cart == null && CartCookieHelper.DoesCookieExistForCustomer(id)) { var response = this.CartManager.GetCurrentCart(CurrentStorefront, CurrentVisitorContext, true); cartResult = new AXCartBaseJsonResult(response.ServiceProviderResult); if (response.ServiceProviderResult.Success && response.Result != null) { cartResult.Initialize(response.ServiceProviderResult.Cart); if (response.ServiceProviderResult.Cart != null) { cartCache.AddCartToCache(response.ServiceProviderResult.Cart as CommerceCart); } } } else { cartResult = new AXCartBaseJsonResult(); cartResult.Initialize(cart); } return(Json(cartResult, JsonRequestBehavior.AllowGet)); } catch (Exception e) { CommerceLog.Current.Error("GetCurrentCart", this, e); return(Json(new BaseJsonResult("GetCurrentCart", e), JsonRequestBehavior.AllowGet)); } }