private IQueryable <UnionEmployee> GetFilteredQuery(GetUnionEmployeeInput input) { var query = QueryableExtensions.WhereIf(_unionEmployeeRepository.GetAll(), !input.Filter.IsNullOrWhiteSpace(), u => u.Name.Contains(input.Filter) || u.Family.Contains(input.Filter) || u.NationalCode.Replace("-", "").Contains(input.Filter)); return(query); }
public async Task <PagedResultDto <UnionEmployeeListDto> > GetUnionEmployee(GetUnionEmployeeInput input) { var query = GetFilteredQuery(input); query = query.Where(x => x.UnionInfoId == input.UnionInfoId); var userCount = await query.CountAsync(); var unionEmployees = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var unionEmployeesListDto = ObjectMapper.Map <List <UnionEmployeeListDto> >(unionEmployees); return(new PagedResultDto <UnionEmployeeListDto>( userCount, unionEmployeesListDto )); }