Esempio n. 1
0
        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())))));
        }
Esempio n. 4
0
 public async Task <IList <FuncionarioViewModel> > GetAll([FromQuery] FuncionarioFiltro filtro)
 {
     return(_mapper.Map <IList <FuncionarioViewModel> >(await _funcionarioRepository.Filtro(filtro)));
 }
Esempio n. 5
0
        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());
        }