Exemple #1
0
        public PagingResult <JobLimited> GetByPagination(PaginationFilter paginationFilter, JobsQueryParameter queryParameters)
        {
            var queryExpression = new JobsQuery().Build(queryParameters);

            var query = _jobsRepository.GetWithPagination(queryExpression.Compile(),
                                                          paginationFilter.Page,
                                                          paginationFilter.ItemsPerPage);

            if (!string.IsNullOrWhiteSpace(paginationFilter.ColumnToOrder))
            {
                query = paginationFilter.Ascending
                    ? query.OrderBy(paginationFilter.ColumnToOrder)
                    : query.OrderByDescending(paginationFilter.ColumnToOrder);
            }


            return(new PagingResult <JobLimited>
            {
                TotalItems = query.Count(),
                Data = query,
                ItemsPerPage = paginationFilter.ItemsPerPage,
                Page = paginationFilter.Page
            });
        }
        public ActionResult <PagingResult <JobLimited> > Get(PaginationParameters parameters, JobsQueryParameter queryParameters)
        {
            try
            {
                var result = _jobsService.GetByPagination(new PaginationFilter
                {
                    Search        = "",//parameters.search["value"],
                    ItemsPerPage  = parameters.Length,
                    Page          = parameters.Start / parameters.Length,
                    ColumnToOrder = "Id",
                    Ascending     = false
                }, queryParameters);

                return(result);
            }
            catch (Exception ex)
            {
                //Do the loggin
                _logger.LogError($"Threw exception while getting jobs {ex}");
            }

            return(new BadRequestResult());
        }