public async Task NextPage() { if (IsRunning) { return; } IsRunning = true; switch (PAGE_MODE) { case PAGE_MODES.ALL: SearchResul = new List <T>(); TotalCount = await datahelper.GetMongoDataCount <T>(); Items.Clear(); Items.AddRange(await datahelper.GetMongoDataPaged <T>(PageNumber, PageCount)); break; case PAGE_MODES.FILTER_TEXT: TotalCount = await datahelper.GetMongoDataCount <T>(a => a.Name.Contains(NameSearch.ToLower())); Items.Clear(); Items.AddRange(await datahelper.GetMongoDataFilterPaged <T>(NameSearch.ToLower(), PageNumber, PageCount)); break; case PAGE_MODES.FILTER_BOX: TotalCount = SearchResul.Count; Items.Clear(); Items.AddRange(SearchResul.Skip((PageNumber - 1) * PageCount).Take(PageCount)); break; case PAGE_MODES.LIST: TotalCount = _list.Count(); Items.Clear(); Items.AddRange(_list.Skip((PageNumber - 1) * PageCount).Take(PageCount)); break; default: break; } Items.Refresh(); NotifyOfPropertyChange("Items"); NotifyOfPropertyChange("ElementsCount"); IsRunning = false; }
public async Task NextPage() { if (IsRunning) { return; } IsRunning = true; switch (PAGE_MODE) { case PAGE_MODES.ALL: SearchResul = new List <T>(); TotalCount = DS.db.Count <T>(); // await datahelper.GetMongoDataCount<T>(); Items.Clear(); //Items.AddRange(await datahelper.GetMongoDataPaged<T>(PageNumber, PageCount)); Items.AddRange(DS.db.GetPage <T>(PageNumber, PageCount)); break; case PAGE_MODES.FILTER_TEXT: if (SaveVisible == false) { //TotalCount = await datahelper.GetMongoDataCount<T>(a => a.NameSearch.Contains(NameSearch.ToLower())); Items.Clear(); var result = _list.Where(a => a.Name.ToLower().Contains(NameSearch.ToLower())); Items.AddRange(result.Skip((PageNumber - 1) * PageCount).Take(PageCount)); } else { TotalCount = DS.db.Count <T>(a => a.NameSearch.Contains(NameSearch.ToLower()) == true); //await datahelper.GetMongoDataCount<T>(a => a.NameSearch.Contains(NameSearch.ToLower())); Items.Clear(); Items.AddRange(DS.db.GetPage <T>(a => a.NameSearch.ContainsIgniorCase(NameSearch.ToLower()), PageNumber, PageCount)); // Items.AddRange(await datahelper.GetMongoDataFilterPaged<T>(NameSearch.ToLower(), PageNumber, PageCount)); } break; case PAGE_MODES.FILTER_BOX: TotalCount = SearchResul.Count; Items.Clear(); Items.AddRange(SearchResul.Skip((PageNumber - 1) * PageCount).Take(PageCount)); break; case PAGE_MODES.LIST: TotalCount = _list.Count(); Items.Clear(); Items.AddRange(_list.Skip((PageNumber - 1) * PageCount).Take(PageCount)); break; default: break; } Items.Refresh(); NotifyOfPropertyChange("Items"); NotifyOfPropertyChange("ElementsCount"); NotifyOfPropertyChange("PagesNumber"); IsRunning = false; }