Skip to content

Commit 272781d

Browse files
committed
Add filter logic for the catalog items
1 parent f91c2bc commit 272781d

1 file changed

Lines changed: 23 additions & 15 deletions

File tree

src/Web/WebMonolithic/eShopWeb/Controllers/CatalogController.cs

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,12 @@ public CatalogController(IHostingEnvironment env)
2727
// GET: /<controller>/
2828
public IActionResult Index(int? BrandFilterApplied, int? TypesFilterApplied, int? page)
2929
{
30-
var itemsPage = 10;
31-
//var catalog = await _catalogSvc.GetCatalogItems(page ?? 0, itemsPage, BrandFilterApplied, TypesFilterApplied);
32-
33-
var catalog = new List<CatalogItem>();
30+
var itemsPage = 10;
31+
var catalog = this.GetCatalogItems(page ?? 0, itemsPage, BrandFilterApplied, TypesFilterApplied);
32+
3433
var vm = new IndexViewModel()
3534
{
36-
CatalogItems = GetPreconfiguredItems(),
35+
CatalogItems = catalog,
3736
Brands = GetPreconfiguredCatalogBrands(),
3837
Types = GetPreconfiguredCatalogTypes(),
3938
BrandFilterApplied = BrandFilterApplied ?? 0,
@@ -65,17 +64,26 @@ public IActionResult GetImage(int id)
6564

6665
}
6766

67+
private IList<CatalogItem> GetCatalogItems(int page, int itemsPage, int? brandFilterApplied, int? typesFilterApplied)
68+
{
69+
return GetPreconfiguredItems()
70+
.Where(item => brandFilterApplied == null || item.CatalogBrandId == brandFilterApplied)
71+
.Where(item => typesFilterApplied == null || item.CatalogTypeId == typesFilterApplied)
72+
.Skip(page * itemsPage)
73+
.Take(itemsPage)
74+
.ToList();
75+
}
6876

6977
static IEnumerable<SelectListItem> GetPreconfiguredCatalogBrands()
7078
{
7179
return new List<SelectListItem>()
7280
{
7381
new SelectListItem() { Value = null, Text="All", Selected= true},
74-
new SelectListItem() { Value = null, Text = "Azure", Selected= true},
75-
new SelectListItem() { Value = null, Text = ".NET", Selected= true },
76-
new SelectListItem() { Value = null, Text = "Visual Studio", Selected= true },
77-
new SelectListItem() { Value = null, Text = "SQL Server", Selected= true },
78-
new SelectListItem() { Value = null, Text = "Other", Selected= true }
82+
new SelectListItem() { Value = "1", Text = "Azure", Selected= false},
83+
new SelectListItem() { Value = "2", Text = ".NET", Selected= false },
84+
new SelectListItem() { Value = "3", Text = "Visual Studio", Selected= false },
85+
new SelectListItem() { Value = "4", Text = "SQL Server", Selected= false },
86+
new SelectListItem() { Value = "5", Text = "Other", Selected= false }
7987
};
8088
}
8189

@@ -84,14 +92,14 @@ static IEnumerable<SelectListItem> GetPreconfiguredCatalogTypes()
8492
return new List<SelectListItem>()
8593
{
8694
new SelectListItem() { Value = null, Text="All", Selected= true},
87-
new SelectListItem() { Value = null, Text = "Mug", Selected= true },
88-
new SelectListItem() { Value = null, Text = "T-Shirt", Selected= true },
89-
new SelectListItem() { Value = null, Text = "Sheet", Selected= true },
90-
new SelectListItem() { Value = null, Text = "USB Memory Stick", Selected= true }
95+
new SelectListItem() { Value = "1", Text = "Mug", Selected= false },
96+
new SelectListItem() { Value = "2", Text = "T-Shirt", Selected= false },
97+
new SelectListItem() { Value = "3", Text = "Sheet", Selected= false },
98+
new SelectListItem() { Value = "4", Text = "USB Memory Stick", Selected= false }
9199
};
92100
}
93101

94-
static IEnumerable<CatalogItem> GetPreconfiguredItems()
102+
static IList<CatalogItem> GetPreconfiguredItems()
95103
{
96104
return new List<CatalogItem>()
97105
{

0 commit comments

Comments
 (0)