Beispiel #1
0
        public virtual async Task <IHttpActionResult> AddLineItem(AddLineItemViewModel request)
        {
            if (request == null)
            {
                return(BadRequest("Missing Request Body"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!ComposerContext.IsAuthenticated)
            {
                return(BadRequest("Authorization required"));
            }

            var vm = await WishListViewService.AddLineItemAsync(new AddLineItemParam
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                CartName    = CartConfiguration.WishlistCartName,
                ProductId   = request.ProductId,
                VariantId   = request.VariantId,
                Quantity    = request.Quantity.GetValueOrDefault(),
                BaseUrl     = RequestUtils.GetBaseUrl(Request).ToString(),
                RecurringOrderFrequencyName = request.RecurringOrderFrequencyName,
                RecurringOrderProgramName   = request.RecurringOrderProgramName
            });

            return(Ok(vm));
        }
Beispiel #2
0
        public virtual async Task <IHttpActionResult> RemoveLineItem(RemoveLineItemViewModel request)
        {
            if (request == null)
            {
                return(BadRequest("Missing Request Body"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!ComposerContext.IsAuthenticated)
            {
                return(BadRequest("Authorization required"));
            }

            var vm = await WishListViewService.RemoveLineItemAsync(new RemoveLineItemParam
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                LineItemId  = new Guid(request.LineItemId),
                CartName    = CartConfiguration.WishlistCartName,
                BaseUrl     = RequestUtils.GetBaseUrl(Request).ToString()
            });

            return(Ok(vm));
        }
Beispiel #3
0
        public virtual async Task <IHttpActionResult> GetWishListLight()
        {
            var viewModel = await WishListViewService.GetWishListSummaryViewModelAsync(new GetCartParam
            {
                Scope             = ComposerContext.Scope,
                CultureInfo       = ComposerContext.CultureInfo,
                CustomerId        = ComposerContext.CustomerId,
                CartName          = CartConfiguration.WishlistCartName,
                ExecuteWorkflow   = CartConfiguration.WishListExecuteWorkflow,
                WorkflowToExecute = CartConfiguration.WishListWorkflowToExecute,
                BaseUrl           = RequestUtils.GetBaseUrl(Request).ToString()
            });

            return(Ok(viewModel));
        }
        public virtual ActionResult WishList(XhtmlDocument emptyWishListContent)
        {
            var vm = WishListViewService.GetWishListViewModelAsync(new GetCartParam
            {
                Scope             = ComposerContext.Scope,
                CultureInfo       = ComposerContext.CultureInfo,
                CustomerId        = ComposerContext.CustomerId,
                CartName          = CartConfiguration.WishlistCartName,
                ExecuteWorkflow   = CartConfiguration.WishListExecuteWorkflow,
                WorkflowToExecute = CartConfiguration.WishListWorkflowToExecute,
                BaseUrl           = RequestUtils.GetBaseUrl(Request).ToString()
            }).Result;

            if (vm != null && vm.TotalQuantity == 0 && emptyWishListContent != null)
            {
                return(View("WishListContainer", new { TotalQuantity = 0, EmptyContent = emptyWishListContent.Body }));
            }

            return(View("WishListContainer", vm));
        }