Exemple #1
0
        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;
        }
Exemple #2
0
        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;
        }