Exemple #1
0
        protected virtual WishListSummaryViewModel CreateSummaryWishListViewModel(CreateWishListViewModelParam param)
        {
            var viewModel = new WishListSummaryViewModel {
                Items = new List <LineItemIdsViewModel>()
            };
            var lineItems = param.WishList.GetLineItems();

            if (lineItems != null)
            {
                viewModel.TotalQuantity = lineItems.Count;

                foreach (var item in lineItems)
                {
                    viewModel.Items.Add(new LineItemIdsViewModel
                    {
                        Id        = item.Id,
                        ProductId = item.ProductId,
                        VariantId = item.VariantId
                    });
                }
            }

            viewModel.SignInUrl = WishListUrlProvider.GetSignInUrl(new GetWishListUrlParam
            {
                BaseUrl     = param.BaseUrl,
                CultureInfo = param.CultureInfo
            });

            return(viewModel);
        }
Exemple #2
0
        public ActionResult WishListInHeader()
        {
            var vm = new WishListViewModel
            {
                Url = WishListUrlProvider.GetWishListUrl(new GetWishListUrlParam
                {
                    CultureInfo = ComposerContext.CultureInfo,
                    BaseUrl     = RequestUtils.GetBaseUrl(Request).ToString()
                })
            };

            vm.Context.Add("IsAuthenticated", ComposerContext.IsAuthenticated);

            return(View("WishListInHeader", vm));
        }
Exemple #3
0
        protected virtual async Task <WishListViewModel> CreateWishListViewModelAsync(CreateWishListViewModelParam param)
        {
            var viewModel = new WishListViewModel();
            var lineItems = param.WishList.GetLineItems();

            if (lineItems != null)
            {
                var imageInfo = new ProductImageInfo
                {
                    ImageUrls = await ImageService.GetImageUrlsAsync(lineItems).ConfigureAwait(false),
                };

                viewModel.Items = LineItemViewModelFactory.CreateViewModel(new CreateListOfLineItemDetailViewModelParam {
                    Cart        = param.WishList,
                    LineItems   = lineItems,
                    CultureInfo = param.CultureInfo,
                    ImageInfo   = imageInfo,
                    BaseUrl     = param.BaseUrl
                }).ToList();

                viewModel.Items.Reverse();
                viewModel.TotalQuantity = lineItems.Count;
            }

            var getUrlParam = new GetWishListUrlParam
            {
                BaseUrl     = param.BaseUrl,
                CultureInfo = param.CultureInfo
            };

            viewModel.SignInUrl = WishListUrlProvider.GetSignInUrl(getUrlParam);
            viewModel.ShareUrl  = viewModel.TotalQuantity == 0 ? string.Empty: WishListUrlProvider.GetShareUrl(new GetShareWishListUrlParam
            {
                BaseUrl     = param.BaseUrl,
                CultureInfo = param.CultureInfo,
                CustomerId  = param.WishList.CustomerId,
                Scope       = param.WishList.ScopeId,
                WebsiteId   = param.WebsiteId
            });

            return(viewModel);
        }
        public virtual MenuViewModel CreateMenu(string currentUrl)
        {
            var urlParam = new BaseUrlParameter
            {
                CultureInfo = ComposerContext.CultureInfo
            };

            bool recurringOrderConfigEnabled = RecurringOrdersSettings.Enabled;
            var  myAccountUrl      = MyAccountUrlProvider.GetMyAccountUrl(urlParam);
            var  addressListUrl    = MyAccountUrlProvider.GetAddressListUrl(urlParam);
            var  myOrderHistoryUrl = OrderUrlProvider.GetOrderHistoryUrl(new GetOrderUrlParameter {
                CultureInfo = ComposerContext.CultureInfo
            });
            var myWishListUrl = WishListUrlProvider.GetWishListUrl(new GetWishListUrlParam {
                CultureInfo = ComposerContext.CultureInfo
            });
            var myRecurringScheduleUrl = RecurringScheduleUrlProvider.GetRecurringScheduleUrl(new GetRecurringScheduleUrlParam {
                CultureInfo = ComposerContext.CultureInfo
            });

            var currentPageId = new Guid(currentUrl);

            var menu = new MenuViewModel {
                MenuItems = new List <MenuItemViewModel>()
            };
            var pageConfiguration       = SiteConfiguration.GetPagesConfiguration(ComposerContext.CultureInfo, WebsiteContext.WebsiteId);
            var myAccountPage           = PageService.GetPage(pageConfiguration.MyAccountPageId, ComposerContext.CultureInfo);
            var myAddressPage           = PageService.GetPage(pageConfiguration.AddressListPageId, ComposerContext.CultureInfo);
            var myOrderHistoryPage      = PageService.GetPage(pageConfiguration.OrderHistoryPageId, ComposerContext.CultureInfo);
            var myWishListage           = PageService.GetPage(pageConfiguration.MyWishListPageId, ComposerContext.CultureInfo);
            var myRecurringSchedulePage = PageService.GetPage(RecurringOrdersSettings.RecurringSchedulePageId, ComposerContext.CultureInfo);

            var myAccountMenuItem = new MenuItemViewModel
            {
                Name     = myAccountPage.MenuTitle,
                Url      = myAccountUrl,
                IsActive = currentPageId == pageConfiguration.MyAccountPageId ||
                           currentPageId == pageConfiguration.ChangePasswordPageId
            };

            var myAdressesMenuItem = new MenuItemViewModel
            {
                Name     = myAddressPage.MenuTitle,
                Url      = addressListUrl,
                IsActive = currentPageId == pageConfiguration.AddressListPageId ||
                           currentPageId == pageConfiguration.AddAddressPageId ||
                           currentPageId == pageConfiguration.UpdateAddressPageId
            };

            var myWishListMenuItem = new MenuItemViewModel
            {
                Name     = myWishListage.MenuTitle,
                Url      = myWishListUrl,
                IsActive = currentPageId == pageConfiguration.MyWishListPageId
            };

            var myOrderHistoryMenuItem = new MenuItemViewModel
            {
                Name     = myOrderHistoryPage.MenuTitle,
                Url      = myOrderHistoryUrl,
                IsActive = currentPageId == pageConfiguration.OrderHistoryPageId ||
                           currentPageId == pageConfiguration.OrderDetailsPageId ||
                           currentPageId == RecurringOrdersSettings.RecurringCartDetailsPageId
            };

            var myRecurringScheduleMenuItem = new MenuItemViewModel
            {
                Name     = myRecurringSchedulePage.MenuTitle,
                Url      = myRecurringScheduleUrl,
                IsActive = currentPageId == RecurringOrdersSettings.RecurringSchedulePageId || currentPageId == RecurringOrdersSettings.RecurringScheduleDetailsPageId
            };

            menu.MenuItems.AddRange(new List <MenuItemViewModel> {
                myAccountMenuItem, myWishListMenuItem, myAdressesMenuItem, myOrderHistoryMenuItem
            });

            if (recurringOrderConfigEnabled)
            {
                menu.MenuItems.Add(myRecurringScheduleMenuItem);
            }

            return(menu);
        }