public IEnumerable <FuncionarioConsultaDTO> Get([FromQuery] FiltrosFuncionario filtro) { var funcionarios = _funcionarioRepository.GetAllFuncionarios(); var funcionariosDto = _mapper.Map <IEnumerable <FuncionarioConsultaDTO> >(funcionarios); if (filtro.Nome != null) { var regex = new Regex(filtro.Nome, RegexOptions.IgnoreCase); funcionariosDto = funcionariosDto.Where(f => regex.IsMatch(f.Nome)); } if (filtro.Cpf != null) { funcionariosDto = funcionariosDto.Where(f => f.Cpf == filtro.Cpf); } if (filtro.dtInicio != null) { funcionariosDto = funcionariosDto.Where(f => f.DataContratacao >= filtro.dtInicio); } if (filtro.dfFim != null) { funcionariosDto = funcionariosDto.Where(f => f.DataContratacao <= filtro.dfFim); } return(funcionariosDto); }
public async Task <IEnumerable <Funcionario> > ObterFuncionarios(FiltrosFuncionario filtros) { return(await _funcionarioRepository.Buscar(f => (filtros.Nome == null || f.Nome.Contains(filtros.Nome)) && (filtros.Sexo == null || f.Sexo == (ESexo)filtros.Sexo) && (filtros.Ativo == null || f.Ativo == filtros.Ativo) && (filtros.Inicio == null || f.Nascimento >= filtros.Inicio) && (filtros.Fim == null || f.Nascimento <= filtros.Fim) && (filtros.Dependentes == null || (f.Dependentes.Count() > 0) == filtros.Dependentes))); }
public async Task <IActionResult> Pesquisar(FiltrosFuncionario funcionarioViewModel) { RemoverFiltros(); SetarFiltros(funcionarioViewModel); var funcionarios = _mapper.Map <IEnumerable <FuncionarioViewModel> >(await _funcionarioService.ObterFuncionarios(funcionarioViewModel)).ToList(); funcionarioViewModel.Funcionarios = new List <FuncionariosResponse>(); funcionarios.ForEach(f => funcionarioViewModel.Funcionarios.Add(FuncionarioViewModelToFuncionarioResponse(f))); return(View(funcionarioViewModel)); }
private void SetarFiltros(FiltrosFuncionario filtros) { if (!string.IsNullOrEmpty(filtros.Nome)) { SetCookie("Nome", filtros.Nome, 15.0); } if (!string.IsNullOrEmpty(filtros.CPF)) { SetCookie("CPF", filtros.CPF, 15.0); } if (!string.IsNullOrEmpty(filtros?.Inicio.ToString())) { SetCookie("Inicio", filtros.Inicio.ToString(), 15.0); } if (!string.IsNullOrEmpty(filtros?.Fim.ToString())) { SetCookie("Fim", filtros.Fim.ToString(), 15.0); } if (!string.IsNullOrEmpty(filtros?.Sexo.ToString())) { SetCookie("Sexo", filtros.Sexo.ToString(), 15.0); } if (!string.IsNullOrEmpty(filtros?.Ativo.ToString())) { SetCookie("Ativo", filtros.Ativo.ToString(), 15.0); } if (!string.IsNullOrEmpty(filtros?.Dependentes.ToString())) { SetCookie("Dependentes", filtros.Dependentes.ToString(), 15.0); } }