Esempio n. 1
0
        public CheckPagingResult SearchWithPagination(CheckPagingRequest r)
        {
            CheckPagingResult result = new CheckPagingResult();

            result = _checkRepository.GetCheckWithPaging(r);
            return(result);
        }
Esempio n. 2
0
        private void DataPagerOnPageIndexChanged(object sender, PageIndexChangedEventArgs e)
        {
            CheckPagingResult result = Search(e.NewPageIndex, DataPager.PageSize);

            var filteredItem = CollectionViewSource.GetDefaultView(
                new ObservableCollection <Check>(result.Results));

            DataPager.ItemCount = result.TotalItems;

            _c.PagedChecks = filteredItem;
        }
Esempio n. 3
0
        private CheckPagingResult Search(int currentPage, int pageSize)
        {
            CheckService service = new CheckService(_checkRepository);

            CheckPagingRequest r = new CheckPagingRequest();
            SearchCriteria     s = BuilSearchQuery();

            r.PageSize       = pageSize;
            r.CurrentPage    = currentPage;
            r.SearchCriteria = s;

            CheckPagingResult result = service.SearchWithPagination(r);

            return(result);
        }
Esempio n. 4
0
        //The library Devart DotConnect for SQLite has minor bugs when arranging data with skip and take.
        //Basically, what happens is 'Order By' is not being generated in SQL using Skip and take.
        //My work around is to create SQL by hand.

        public CheckPagingResult GetCheckWithPaging(CheckPagingRequest r)
        {
            CheckPagingResult result        = new CheckPagingResult();
            string            query         = "Select * From Checks";
            string            queryForCount = "Select Count(Checks.Id) From Checks";

            query         = AddRelation(r, query);
            queryForCount = AddRelation(r, queryForCount);

            queryForCount = BuildCondition(r, queryForCount);

            result.TotalItems = _context.Database.SqlQuery <int>(queryForCount).First();
            query             = BuildCondition(r, query);
            query             = BuildOrderBy(r, query);
            query             = BuildPagination(r, query);

            result.Results   = _context.Checks.SqlQuery(query).ToList();
            result.PageCount = result.TotalItems / r.PageSize;

            return(result);
        }