public async Task <IActionResult> Excel([FromQuery] FuncionarioFiltro filtro) { var funcionarios = await _funcionarioRepository.Filtro(filtro); using (var wb = new XLWorkbook()) { var ws = wb.AddWorksheet("Funcionários"); var linhaAtual = 1; ws.Cell(linhaAtual, (int)FuncionarioColumns.NomeCompleto).Value = "Nome Completo"; ws.Cell(linhaAtual, (int)FuncionarioColumns.NomeCompleto).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Titulo).Value = "Título"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Titulo).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.DataNascimento).Value = "Data de Nascimento"; ws.Cell(linhaAtual, (int)FuncionarioColumns.DataNascimento).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.DataAdmissao).Value = "Data de Admissão"; ws.Cell(linhaAtual, (int)FuncionarioColumns.DataAdmissao).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Gerente).Value = "Gerente"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Gerente).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Endereco).Value = "Endereço"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Endereco).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Cidade).Value = "Cidade"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Cidade).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Estado).Value = "Estado"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Estado).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Pais).Value = "País"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Pais).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.CEP).Value = "CEP"; ws.Cell(linhaAtual, (int)FuncionarioColumns.CEP).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Fone).Value = "Fone"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Fone).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Fax).Value = "Fax"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Fax).Style.Font.Bold = true; ws.Cell(linhaAtual, (int)FuncionarioColumns.Email).Value = "Email"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Email).Style.Font.Bold = true; foreach (var funcionario in funcionarios) { linhaAtual++; ws.Cell(linhaAtual, (int)FuncionarioColumns.NomeCompleto).Value = $"{funcionario.PrimeiroNome} {funcionario.Sobrenome}"; ws.Cell(linhaAtual, (int)FuncionarioColumns.Titulo).Value = funcionario.Titulo; ws.Cell(linhaAtual, (int)FuncionarioColumns.DataNascimento).Value = funcionario.DataNascimento.ToString("dd/MM/yyyy"); ws.Cell(linhaAtual, (int)FuncionarioColumns.DataAdmissao).Value = funcionario.DataAdmissao.ToString("dd/MM/yyyy"); ws.Cell(linhaAtual, (int)FuncionarioColumns.Gerente).Value = $"{funcionario.Gerente?.PrimeiroNome} {funcionario.Gerente?.Sobrenome}".Trim(); ws.Cell(linhaAtual, (int)FuncionarioColumns.Endereco).Value = funcionario.Endereco; ws.Cell(linhaAtual, (int)FuncionarioColumns.Cidade).Value = funcionario.Cidade; ws.Cell(linhaAtual, (int)FuncionarioColumns.Estado).Value = funcionario.Estado; ws.Cell(linhaAtual, (int)FuncionarioColumns.Pais).Value = funcionario.Pais; ws.Cell(linhaAtual, (int)FuncionarioColumns.CEP).Value = funcionario.CEP; ws.Cell(linhaAtual, (int)FuncionarioColumns.Fone).Value = funcionario.Fone; ws.Cell(linhaAtual, (int)FuncionarioColumns.Fax).Value = funcionario.Fax; ws.Cell(linhaAtual, (int)FuncionarioColumns.Email).Value = funcionario.Email; } return(await GerarArquivoExcel(wb, "funcionarios.xlsx")); } }
public async Task <IActionResult> Get(FuncionarioFiltro funcionarioFiltro) { var listaDeFuncionariosComEmpresaECargo = await _funcionarioRepositorio.ObterComFiltroAsync(ObterOsFuncionariosSpecification. Novo(). ComNome(funcionarioFiltro.Nome). ComCpf(funcionarioFiltro.Cpf). ComIntervaloDeDataDeContratacao(funcionarioFiltro.DataDeContratacaoInicial, funcionarioFiltro.DataDeContratacaoFinal). Build()); return(Ok(listaDeFuncionariosComEmpresaECargo)); }
public async Task <IActionResult> Get([FromQuery] FuncionarioFiltro filtro) { if (filtro.IsNull) { return(await Get()); } return(Ok(await _service.GetTudo(x => (string.IsNullOrEmpty(filtro.Nome) || x.Nome.Contains(filtro.Nome)) && (string.IsNullOrEmpty(filtro.Cpf) || x.Cpf.Equals(filtro.Cpf.LimpaMascaraCnpjCpf()))))); }
public async Task <IList <FuncionarioViewModel> > GetAll([FromQuery] FuncionarioFiltro filtro) { return(_mapper.Map <IList <FuncionarioViewModel> >(await _funcionarioRepository.Filtro(filtro))); }
public async Task <IList <Funcionario> > Filtro(FuncionarioFiltro filtro) { var funcionarioQuery = DbSet.AsNoTracking(); if (filtro != null) { if (!string.IsNullOrEmpty(filtro.PrimeiroNome)) { funcionarioQuery = funcionarioQuery.Where(f => f.PrimeiroNome.Contains(filtro.PrimeiroNome)); } if (!string.IsNullOrEmpty(filtro.Sobrenome)) { funcionarioQuery = funcionarioQuery.Where(f => f.Sobrenome.Contains(filtro.Sobrenome)); } if (!string.IsNullOrEmpty(filtro.Titulo)) { funcionarioQuery = funcionarioQuery.Where(f => f.Titulo.Contains(filtro.Titulo)); } if (filtro.DataNascimento.HasValue) { var dataNascimento = filtro.DataNascimento.Value.Date; funcionarioQuery = funcionarioQuery.Where(f => f.DataNascimento.Date == dataNascimento); } if (filtro.DataAdmissao.HasValue) { var dataAdmissao = filtro.DataAdmissao.Value.Date; funcionarioQuery = funcionarioQuery.Where(f => f.DataAdmissao.Date == dataAdmissao); } if (!string.IsNullOrEmpty(filtro.Endereco)) { funcionarioQuery = funcionarioQuery.Where(f => f.Endereco.Contains(filtro.Endereco)); } if (!string.IsNullOrEmpty(filtro.Cidade)) { funcionarioQuery = funcionarioQuery.Where(f => f.Cidade.Contains(filtro.Cidade)); } if (!string.IsNullOrEmpty(filtro.Estado)) { funcionarioQuery = funcionarioQuery.Where(f => f.Estado.Contains(filtro.Estado)); } if (!string.IsNullOrEmpty(filtro.Pais)) { funcionarioQuery = funcionarioQuery.Where(f => f.Pais.Contains(filtro.Pais)); } if (!string.IsNullOrEmpty(filtro.CEP)) { funcionarioQuery = funcionarioQuery.Where(f => f.CEP.Contains(filtro.CEP)); } if (!string.IsNullOrEmpty(filtro.Fone)) { funcionarioQuery = funcionarioQuery.Where(f => f.Fone.Contains(filtro.Fone)); } if (!string.IsNullOrEmpty(filtro.Fax)) { funcionarioQuery = funcionarioQuery.Where(f => f.Fax.Contains(filtro.Fax)); } if (!string.IsNullOrEmpty(filtro.Email)) { funcionarioQuery = funcionarioQuery.Where(f => f.Email.Contains(filtro.Email)); } if (filtro.GerenteId > 0) { funcionarioQuery = funcionarioQuery.Where(f => f.Gerente.FuncionarioId == filtro.GerenteId); } } return(await funcionarioQuery .Include(f => f.Gerente) .ToListAsync()); }