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)); }