Exemple #1
0
        public FilterDeclarationsDto GetAllDeclarationsWithQuery(List <QueryDto> queries, int pageNumber, int maxRowsPerPage, string sortBy, bool sortDesc)
        {
            try
            {
                using (var context = new CTDSContext())
                {
                    FilterDeclarationsDto filterDeclarationsDto = new FilterDeclarationsDto();
                    var expression           = QueryBuilder(queries);
                    var filteredDeclarations = context.Declaration
                                               .Where(expression)
                                               .ToList();
                    filterDeclarationsDto.TotalCount = filteredDeclarations.Count;
                    var sortedList = new List <Declaration>();

                    if (sortDesc)
                    {
                        sortedList = filteredDeclarations.OrderByDescending(a => a.GetType().GetProperty(sortBy).GetValue(a, null)).ToList();
                    }
                    else
                    {
                        sortedList = filteredDeclarations.OrderBy(a => a.GetType().GetProperty(sortBy).GetValue(a, null)).ToList();
                    }
                    var perPageFilteredDeclarations    = sortedList.Skip((pageNumber - 1) * maxRowsPerPage).Take(maxRowsPerPage).ToList();
                    var perPageFilteredDeclarationDtos = Mapper.DeclarationListToDtoList(perPageFilteredDeclarations).ToList();
                    filterDeclarationsDto.Declarations = perPageFilteredDeclarationDtos;
                    return(filterDeclarationsDto);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Exemple #2
0
        public FilterDeclarationsDto GetAllDeclarationsWithQuery(List <QueryDto> queries, int pageNumber, int maxRowsPerPage)
        {
            try
            {
                using (var context = new CTDSContext())
                {
                    FilterDeclarationsDto filterDeclarationsDto = new FilterDeclarationsDto();
                    var expression           = QueryBuilder(queries);
                    var filteredDeclarations = context.Declaration
                                               .Where(expression)
                                               .ToList();
                    filterDeclarationsDto.TotalCount = filteredDeclarations.Count;

                    var perPageFilteredDeclarations    = filteredDeclarations.Skip((pageNumber - 1) * maxRowsPerPage).Take(maxRowsPerPage).ToList();
                    var perPageFilteredDeclarationDtos = Mapper.DeclarationListToDtoList(perPageFilteredDeclarations).ToList();
                    filterDeclarationsDto.Declarations = perPageFilteredDeclarationDtos;
                    return(filterDeclarationsDto);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }