Exemple #1
0
        public async Task <PagedResultDto <Department> > GetPagedDepartmentsList(GetDepartmentInput input)
        {
            var query = _departmentRepository.GetAll();

            if (!string.IsNullOrEmpty(input.FilterText))
            {
                query = query.Where(s => s.Name.Contains(input.FilterText));
            }
            var count = query.Count();

            query = query.OrderBy(input.Sorting).Skip((input.CurrentPage - 1) * input.MaxResultCount).Take(input.MaxResultCount);
            List <Department> models = await query.Include(i => i.Administrator).AsNoTracking().ToListAsync();

            var dtos = new PagedResultDto <Department>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = models,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }
        public async Task <PagedResultDto <DepartmentDto> > GetDepartmentsAsync(GetDepartmentInput input)
        {
            var query = _departmentRepository.GetAll()
                        .WhereIf(!input.Name.IsNullOrWhiteSpace(), m => m.Name.Contains(input.Name));

            var totalCount = await query.CountAsync();

            var items = await query.OrderBy(input.Sorting).PageBy(input).ToListAsync();

            return(new PagedResultDto <DepartmentDto>(
                       totalCount,
                       items.Select(item => ObjectMapper.Map <DepartmentDto>(item)).ToList()));
        }
Exemple #3
0
        public async Task <IActionResult> Index(GetDepartmentInput input)
        {
            var models = await _departmentsService.GetPagedDepartmentsList(input);

            return(View(models));
        }