public async Task <IActionResult> List(string name = null, string active = null, DateTime?creationDateFrom = null, DateTime?creationDateTo = null, int?idEmpresa = null) { try { var filters = new EmpresaFilterDTO(name, active, creationDateFrom, creationDateTo, idEmpresa); var entities = await _empresaService.List(filters); return(Ok(entities)); } catch (Exception e) { return(StatusCode(500, e)); } }
public async Task <IEnumerable <EmpresaDTO> > List(EmpresaFilterDTO filter = null) { IEnumerable <Empresa> entities; entities = await _empresaRepository.ListBy(empresa => ( (filter.IdEmpresa == null || empresa.Id == filter.IdEmpresa.Value) && (!filter.CreationDateFrom.HasValue || empresa.CreationDate >= filter.CreationDateFrom.Value) && (!filter.CreationDateTo.HasValue || empresa.CreationDate <= filter.CreationDateTo.Value) && (filter.Active == "null" || filter.Active.IsNullOrEmpty() || empresa.Active == Boolean.Parse(filter.Active)) && (filter.RazonSocial.IsNullOrEmpty() || empresa.RazonSocial.ToLower().Contains(filter.RazonSocial) || empresa.Cuit.ToLower().Contains(filter.RazonSocial) || empresa.Domicilio.ToLower().Contains(filter.RazonSocial) || empresa.CorreoContacto.ToLower().Contains(filter.RazonSocial)) ) ); var dtos = _mapper.Map <IEnumerable <EmpresaDTO> >(entities); return(dtos); }