private async Task LoadMoreBugs() { var bugs = await bugService.GetPaginatedBugs(BugsList.Count(), 200); BugsList.AddRange(bugs.Bugs); TotalCount = bugs.TotalCount; BugsList = BugsList.Distinct().ToList(); SystemList.AddRange(BugsList.Select(v => v.System)); StateHasChanged(); }
private async ValueTask <ItemsProviderResult <BugModel> > LoadBugs(ItemsProviderRequest request) { var req = request.StartIndex + request.Count; if (req > BugsList.Count()) { await LoadMoreBugs(); } var list = FiltrList.Count == 0 ? BugsList : BugsList.Where(v => FiltrList.Contains(v.System)).ToList(); var totalCount = FiltrList.Count == 0 ? TotalCount : list.Count; var bugs = list.Skip(request.StartIndex).Take(request.Count); return(new ItemsProviderResult <BugModel>(bugs, totalCount)); }