public async Task <List <GetCompanyDto> > Filter(FilterCompanyDto filter) { var query = await _companyRepository.Get(); if (filter.Id > 0) { query = query.Where(comp => comp.Id == filter.Id); } if (!filter.Name.IsEmpty()) { query = query.Where(comp => comp.Name.Like(filter.Name)); } if (!filter.Cnpj.IsEmpty()) { query = query.Where(comp => comp.Cnpj.Like(filter.Cnpj.OnlyNumbers())); } if (!filter.Fundation.IsEmpty()) { query = query.Where(comp => comp.Fundation.HasValue && comp.Fundation.Value.Date == filter.Fundation.ToDate()); } if (!query.Any()) { return(null); } return(_mapper.Map <List <GetCompanyDto> >(query.ToList())); }
public async Task <IActionResult> Get(FilterCompanyDto filter) { var result = await _companyService.Filter(filter); if (!_companyService.Success()) { return(BadRequest(_companyService.Errors)); } if (result.IsEmpty()) { return(NotFound()); } return(Ok(result)); }