public async Task <IEnumerable <ClientDto> > GetByFilters(ClientFiltersDto filters) { var clients = (await _clientRepository.Find(filters.GetExpresion())).OrderBy(x => x.Name); var clientsDto = _mapper.Map <IEnumerable <Client>, IEnumerable <ClientDto> >(clients); foreach (var clientDto in clientsDto) { clientDto.Debtor = await IsDebtor(clientDto); } return(clientsDto.Where(x => filters.Debtor == null || x.Debtor == filters.Debtor)); }
public async Task <int> GetTotalQtyByFilters(ClientFiltersDto filtersDto) { var clients = await _clientRepository.Find(filtersDto.GetExpresion()); var clientsDto = _mapper.Map <IEnumerable <Client>, IEnumerable <ClientDto> >(clients); foreach (var clientDto in clientsDto) { clientDto.Debtor = await IsDebtor(clientDto); } return(clientsDto.Where(x => filtersDto.Debtor == null || x.Debtor == filtersDto.Debtor).Count()); }
public async Task <IEnumerable <ClientDto> > GetFilteredByPageAndQty(ClientFiltersDto filtersDto, int skip, int qty) { var clients = (await _clientRepository.Find(filtersDto.GetExpresion())) .OrderByDescending(x => x.Lastname).ThenByDescending(x => x.Name); var clientsDto = _mapper.Map <IEnumerable <Client>, IEnumerable <ClientDto> >(clients); foreach (var clientDto in clientsDto) { clientDto.Debtor = await IsDebtor(clientDto); } return(clientsDto.Where(x => filtersDto.Debtor == null || x.Debtor == filtersDto.Debtor).Skip(skip).Take(qty)); }