예제 #1
0
        public IViewComponentResult Invoke()
        {
            var currentCategory = currentCategoryProvider.Get();
            var vm = provider.Get().Select(x =>
            {
                var urlFriendlyName = x.Name.ToSlug();
                return(new CategoryMenuViewModel
                {
                    Count = x.Count,
                    Name = x.Name,
                    UrlFriendlyName = urlFriendlyName,
                    IsCurrent = currentCategory.NullSafe().IsSame(urlFriendlyName)
                });
            });

            return(View("~/Features/Shared/CategoryMenu/Views/CategoryMenu.cshtml", vm));
        }
        public IViewComponentResult Invoke()
        {
            var savedItems = savedItemsProvider.Get();
            var books      = provider.Get();
            var cart       = cartProvider.Get();
            var vm         = new BookListViewData
            {
                CategoryName = categoryMenuProvider.Get().FirstOrDefault(x => x.Name.ToSlug() == currentCategoryProvider.Get())?.Name,
                Books        = books.Select(x =>
                {
                    x.IsSaved          = savedItems.Any(i => i == x.Id);
                    x.TotalItemsInCart = cart.Items?.FirstOrDefault(item => item.BookId == x.Id)?.Quantity ?? 0;
                    return(x);
                }).ToArray()
            };

            return(View("~/Features/Search/List/Views/BooksList.cshtml", vm));
        }