public IActionResult Get([FromQuery] FuncionarioFilter filter) { if (filter == null) { return(Response(_repository.Get())); } if (filter.DateTimeValidate()) { return(Response(_repository.GetByFiltro(filter))); } else { _notification.Adicionar("Data para filtro inválida."); return(Response()); } }
public List <FuncionarioQueryResult> GetByFiltro(FuncionarioFilter filter) { var funcionarios = _context.Funcionarios.Include(p => p.FuncionariosCargos).ThenInclude(p => p.Cargo).Include(p => p.Empresa) .Where(p => (string.IsNullOrEmpty(filter.Nome) || p.Nome.Contains(filter.Nome)) && (string.IsNullOrEmpty(filter.CPF) || p.CPF == filter.CPF) && filter.DataContratacaoInicio == null && filter.DataContratacaoFim == null || p.DataContratacao >= filter.DataContratacaoInicio && p.DataContratacao <= filter.DataContratacaoFim).ToList(); var funcionariosQueryResult = funcionarios.Select(p => new FuncionarioQueryResult { Id = p.Id, Nome = p.Nome, CPF = p.CPF, DataContratacao = p.DataContratacao, Cargo = p.FuncionariosCargos.OrderByDescending(d => d.DataVinculo).FirstOrDefault() == null ? null : new CargoFuncionarioQueryResult { Id = p.FuncionariosCargos.OrderByDescending(d => d.DataVinculo).FirstOrDefault().CargoId, Descricao = p.FuncionariosCargos.OrderByDescending(d => d.DataVinculo).FirstOrDefault().Cargo.Descricao, DataVinculo = p.FuncionariosCargos.OrderByDescending(d => d.DataVinculo).FirstOrDefault().DataVinculo } }).ToList(); return(funcionariosQueryResult); }
public IEnumerable<FuncionatioTable> Filtrar(FuncionarioFilter filtro) { return Mapper.Map<IEnumerable<FuncionatioTable>>(Service.GetByFilter(filtro)); }
public IEnumerable <FuncionatioTable> Filtrar(FuncionarioFilter filtro) { return(Mapper.Map <IEnumerable <FuncionatioTable> >(Service.GetByFilter(filtro))); }