private IQueryable <AnomalyInfo> GetFilteredQuery(GetAnomalyInfoInput input)
        {
            var query = QueryableExtensions.WhereIf(_anomalyInfoRepository.GetAll(),
                                                    !input.Filter.IsNullOrWhiteSpace(), u =>
                                                    u.Name.Contains(input.Filter) ||
                                                    u.Code.Contains(input.Filter));

            return(query);
        }
        public async Task <PagedResultDto <AnomalyInfoListDto> > GetAnomalyInfo(GetAnomalyInfoInput input)
        {
            var query     = GetFilteredQuery(input);
            var userCount = await query.CountAsync();

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

            var anomalyInfosListDto = ObjectMapper.Map <List <AnomalyInfoListDto> >(anomalyInfos);

            return(new PagedResultDto <AnomalyInfoListDto>(
                       userCount,
                       anomalyInfosListDto
                       ));
        }