Exemplo n.º 1
0
        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()));
        }
Exemplo n.º 2
0
        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));
        }