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());
            }
        }
Esempio n. 2
0
        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));
 }
Esempio n. 4
0
 public IEnumerable <FuncionatioTable> Filtrar(FuncionarioFilter filtro)
 {
     return(Mapper.Map <IEnumerable <FuncionatioTable> >(Service.GetByFilter(filtro)));
 }