diff --git a/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor
index aff65cb..c64cef5 100644
--- a/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor
+++ b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QCInMemory.razor
@@ -45,8 +45,35 @@
Filtering
+
+
@code {
+ string nameFilter;
+ int minMedals;
+ int maxMedals = 120;
+
PaginationState pagination = new PaginationState { ItemsPerPage = 10 };
IQueryable? itemsQueryable;
@@ -55,4 +82,19 @@
var items = await Data.GetDataAsync();
itemsQueryable = items.AsQueryable();
}
+
+ IQueryable FilteredMedalTally
+ {
+ get
+ {
+ var result = itemsQueryable?.Where(c => c.Total <= maxMedals);
+ if (!string.IsNullOrEmpty(nameFilter))
+ result = result.Where(c => c.Name.Contains(nameFilter, StringComparison.CurrentCultureIgnoreCase));
+
+ if (minMedals > 0)
+ result = result.Where(c => c.Total >= minMedals);
+
+ return result;
+ }
+ }
}