Ejemplo n.º 1
0
        private void Worker_DoWork(object sender, DoWorkEventArgs e)
        {
            var        data  = Service.GetAllBooksAsync(Service.getRubrique().SelectedRubrique).Result;
            int        count = data.Count();
            int        step  = 0;
            RubriqueVM vm    = Service.getRubrique();

            _allBook.Clear();
            page = new List <BookVM>();

            for (int i = 0; i < count; i++)
            {
                if (i >= count)
                {
                    break;
                }

                _allBook.Add(data[i]);

                if (step == vm.PageSize)
                {
                    worker.ReportProgress(i);
                }
                else
                {
                    page.Add(data[i]);
                    step++;
                }
            }

            e.Result = step == vm.PageSize;
        }
Ejemplo n.º 2
0
        private void adjustPages()
        {
            RubriqueVM vm        = Service.getRubrique();
            int        count     = _allBook.Count();
            int        pageSize  = vm.PageSize;
            int        totalPage = count / pageSize;

            totalPage = (totalPage == 0) ? 1 : totalPage;
            vm.Pages.Clear();
            vm.pagesChanged();
            Enumerable.Range(0, totalPage).ToList().ForEach(i => vm.Pages.Add("Page " + (i + 1) + "/" + totalPage));
            vm.SelectedPage = vm.Pages.FirstOrDefault();
        }
Ejemplo n.º 3
0
        private void search_DoWork(object sender, DoWorkEventArgs e)
        {
            //var data = Service.GetAllBooksAsync(Service.getRubrique().SelectedRubrique).Result;
            int        count  = _allBook.Count();
            RubriqueVM vm     = Service.getRubrique();
            int        offset = (vm.Pages.IndexOf(vm.SelectedPage)) * vm.PageSize;
            int        limit  = offset + vm.PageSize;
            int        top    = (limit < count) ? vm.PageSize : count - offset;

            top = (top < 0) ? 0 : top;
            List <BookVM> page = new List <BookVM>();

            _allBook.ToList().GetRange(offset, top).ForEach(b => page.Add(b));
            this.page = page;
            e.Result  = page;
        }