Exemple #1
0
        public static void Renderizar2()
        {
            Funcionario      f  = new Funcionario();
            FolhaDePagamento fp = new FolhaDePagamento();

            Console.WriteLine("Digite o cpf do funcionario");
            f.cpf = Console.ReadLine();
            f     = FuncionarioDAO.BuscarFuncionarioCpf(f);
            if (f != null)
            {
                foreach (FolhaDePagamento folhaCadastrada in FolhaPagamentoDAO.BuscarFolhaPorCpf(f.cpf))
                {
                    Console.WriteLine("--------------------- \n");
                    Console.WriteLine("Nome do Funcionario: " + folhaCadastrada.Funcionario.nome);
                    Console.WriteLine("Cargo do Funcionario: " + folhaCadastrada.Cargo.nomeCargo);
                    Console.WriteLine("Mes: " + folhaCadastrada.MesAno.Month + "  Ano: " + folhaCadastrada.MesAno.Year);
                    Console.WriteLine("Salário Bruto:  R$: " + Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("Imposto de Renda:  R$: " + Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("Imposto de Renda:  R$: " + Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("INSS: R$: " + Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("FGTS:  R$: " + Calculos.CalcularFGTS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("Bonus: " + folhaCadastrada.Cargo.bonus);
                    Console.WriteLine("Salario Líquido: R$: " + (Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) -
                                                                 Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) -
                                                                 Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)));
                }
            }
            else
            {
                Console.WriteLine("Cpf nao encontrado");
            }
        }
Exemple #2
0
        public static void Renderizar3()
        {
            Funcionario      f  = new Funcionario();
            FolhaDePagamento fp = new FolhaDePagamento();

            Console.WriteLine(" -- Folhas de Pagamento Cadastradas --\n");
            Console.WriteLine("Digite o Mes e o ano: ");
            fp.MesAno = Convert.ToDateTime(Console.ReadLine());
            if (fp.MesAno != null)
            {
                foreach (FolhaDePagamento folhaCadastrada in FolhaPagamentoDAO.BuscarFolhaPorMesAno(Convert.ToString(fp.MesAno.Month), Convert.ToString(fp.MesAno.Year)))
                {
                    Console.WriteLine("--------------------- \n");
                    Console.WriteLine("Nome do Funcionario: " + folhaCadastrada.Funcionario.nome);
                    Console.WriteLine("Cargo do Funcionario: " + folhaCadastrada.Cargo.nomeCargo);
                    Console.WriteLine("Mes: " + folhaCadastrada.MesAno.Month + "  Ano: " + folhaCadastrada.MesAno.Year);
                    Console.WriteLine("Salário Bruto:  R$: " + Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("Imposto de Renda:  R$: " + Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("INSS: R$: " + Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("FGTS:  R$: " + Calculos.CalcularFGTS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus));
                    Console.WriteLine("Bonus: " + folhaCadastrada.Cargo.bonus);
                    Console.WriteLine("Salario Líquido: R$: " + (Calculos.CalcularSalarioBruto(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) -
                                                                 Calculos.CalcularImpostoRenda(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus) -
                                                                 Calculos.CalcularINSS(folhaCadastrada.HorasTrabalhadas, folhaCadastrada.ValorHora, folhaCadastrada.Cargo.bonus)));
                }
            }
        }
        public static void Renderizar()
        {
            Funcionario      f  = new Model.Funcionario();
            FolhaDePagamento fp = new FolhaDePagamento();

            Console.WriteLine("\tCONSULTAR HISTÓRICO DE FOLHAS DE PAGAMENTO DO FUNCIONÁRIO");
            Console.WriteLine("Informe o CPF do Funcionário: ");
            f.Cpf = Console.ReadLine();
            f     = FuncionarioDAO.BuscarFuncionarioPorCpf(f.Cpf);
            if (f != null)
            {
                double total = 0;
                foreach (FolhaDePagamento pgtosCadastradas in FolhaDePagamentoDAO.RetornaFolhasDePagementoPorFuncionario(f.Cpf))
                {
                    Console.WriteLine("\n");
                    Console.WriteLine("Nome do funcionário: " + pgtosCadastradas.Funcionario.Nome);
                    Console.WriteLine("Cargo: " + pgtosCadastradas.Cargo.Nome);
                    Console.WriteLine("Data da folha de pagamento: " + pgtosCadastradas.MesAno.ToString("MM/yyyy"));
                    Console.WriteLine("Salário Bruto: " + Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("Imposto de Renda: " + Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("INSS: " + Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("FGTS: " + Calculos.FGTS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("Bônus: " + Calculos.Bonus(pgtosCadastradas.Cargo.Bonus, pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("Salário Líquido: " + (Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) -
                                                             Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) -
                                                             Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora)).ToString("C2"));
                    total += Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora);
                }
                Console.WriteLine("\t\tTotal Salário: " + total.ToString("C2"));
            }
            else
            {
                Console.WriteLine("Funcionário não encontrado");
            }
        }
        public static void Renderizar()
        {
            FolhaDePagamento fp = new FolhaDePagamento();

            Console.WriteLine("\tCONSULTAR HISTÓRICO DE FOLHAS DE PAGAMENTO DO MÊS");
            Console.WriteLine("informe o mês e ano: ");
            fp.MesAno = Convert.ToDateTime(Console.ReadLine());

            fp = FolhaDePagamentoDAO.ConsultarFolhaDePagamentoMesAno(fp.MesAno.Month, fp.MesAno.Year);
            if (fp != null)
            {
                double total = 0;
                foreach (FolhaDePagamento pgtosCadastradas in FolhaDePagamentoDAO.RetornaFolhasDePamanetoPorMesAno(fp.MesAno.Month, fp.MesAno.Year))
                {
                    Console.WriteLine("\n");
                    Console.WriteLine("Nome do funcionário: " + pgtosCadastradas.Funcionario.Nome);
                    Console.WriteLine("Cargo: " + pgtosCadastradas.Cargo.Nome);
                    Console.WriteLine("Data da folha de pagamento: " + pgtosCadastradas.MesAno.ToString("MM/yyyy"));
                    Console.WriteLine("Salário Bruto: " + Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("Imposto de Renda: " + Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("INSS: " + Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("FGTS: " + Calculos.FGTS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("Bônus: " + Calculos.Bonus(pgtosCadastradas.Cargo.Bonus, pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora).ToString("C2"));
                    Console.WriteLine("Salário Líquido: " + (Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) -
                                                             Calculos.ImpostoDeRenda(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora) -
                                                             Calculos.INSS(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora)).ToString("C2"));
                    total += Calculos.SalarioBruto(pgtosCadastradas.HorasTrabalhadas, pgtosCadastradas.ValorHora);
                }
                Console.WriteLine("\tTotal Salário: " + total.ToString("C2"));
            }
            else
            {
                Console.WriteLine("Nenhum registro encontrado para essa data");
            }
        }
 public static bool CadastrarFolhaDePagamento(FolhaDePagamento pgto)
 {
     if (ConsultarFolhaDePagamento(pgto.Funcionario.Cpf, pgto.MesAno.Month, pgto.MesAno.Year) != null)
     {
         return(false);
     }
     pagtos.Add(pgto);
     return(true);
 }
 public static bool CadastrarFolhaPagamento(FolhaDePagamento fp)
 {
     if (BuscarFolhaPorFuncionarioData(fp) == null)
     {
         folhaPagamentos.Add(fp);
         return(true);
     }
     return(false);
 }
 public static FolhaDePagamento BuscarFolhaPorFuncionarioData(FolhaDePagamento fp)
 {
     foreach (FolhaDePagamento folhaCadastrada in folhaPagamentos)
     {
         if (folhaCadastrada.Funcionario.cpf.Equals(fp.Funcionario.cpf) && folhaCadastrada.MesAno.Month == fp.MesAno.Month && folhaCadastrada.MesAno.Year == fp.MesAno.Year)
         {
             return(folhaCadastrada);
         }
     }
     return(null);
 }
Exemple #8
0
        public void TestFolhaDePagamento()
        {
            FolhaDePagamento folha = new FolhaDePagamento();

            Demonstrativo demonstrativo = folha.GerarDemonstrativo(200, 5000, 50, 10);

            Assert.AreEqual(1250, demonstrativo.HorasExtras.ValorTotalHoras);
            Assert.AreEqual(250, demonstrativo.HorasDescontadas.ValorTotalHoras);
            Assert.AreEqual(6000, demonstrativo.TotalProventos);
            Assert.AreEqual(2085, demonstrativo.TotalDescontos);
            Assert.AreEqual(3915, demonstrativo.TotalLiquido);
            Assert.AreEqual(660, demonstrativo.Fgts.Valor);
        }
Exemple #9
0
        public static void Renderizar()
        {
            Funcionario      f  = new Funcionario();
            Cargo            c  = new Model.Cargo();
            FolhaDePagamento fp = new FolhaDePagamento();

            Console.WriteLine("\tCADASTRO FOLHA DE PAGAMENTO");
            Console.WriteLine("Informe o CPF do funcionario: ");
            f.Cpf = Console.ReadLine();
            f     = FuncionarioDAO.BuscarFuncionarioPorCpf(f.Cpf);
            if (f != null)
            {
                fp.Funcionario = f;
                Console.WriteLine("Informe o Cargo: ");
                c.Nome = Console.ReadLine().ToUpper();
                c      = CargoDAO.BuscarCargoPeloNome(c.Nome);
                if (c != null)
                {
                    fp.Cargo = c;
                    Console.WriteLine("Mes e ano: MM/yyyy");
                    fp.MesAno = Convert.ToDateTime(Console.ReadLine());
                    Console.WriteLine("informe o numero de Horas Trabalhadas: ");
                    fp.HorasTrabalhadas = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Informe o valor da hora: ");

                    fp.ValorHora = Convert.ToDouble(Console.ReadLine());
                    if (FolhaDePagamentoDAO.CadastrarFolhaDePagamento(fp))
                    {
                        Console.WriteLine("Folha de Pagamento Cadastrada");
                    }
                    else
                    {
                        Console.WriteLine("Não é permitido gravar outra folha de pagamento com as mesmas informações");
                    }
                }
                else
                {
                    Console.WriteLine("Cargo não encontrado");
                }
            }
            else
            {
                Console.WriteLine("Funcionario não encontrado");
            }
        }
Exemple #10
0
        public static void Renderizar()
        {
            FolhaDePagamento fp = new FolhaDePagamento();
            Funcionario      f  = new Funcionario();
            Cargo            c  = new Cargo();

            Console.WriteLine("Digite o CPF do Funcionario:");
            f.cpf = Console.ReadLine();
            f     = FuncionarioDAO.BuscarFuncionarioCpf(f);
            if (f != null)
            {
                fp.Funcionario = f;
                Console.WriteLine("Digite o cargo do Funcionario");
                c.nomeCargo = Console.ReadLine();
                c           = CargoDAO.BuscarCargoNome(c);
                if (c != null)
                {
                    fp.Cargo = c;
                    Console.WriteLine("Digite o mes e o ano da folha de pagamento");
                    fp.MesAno = Convert.ToDateTime(Console.ReadLine());
                    Console.WriteLine("Digite o numero de horas trabalhadas");
                    fp.HorasTrabalhadas = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Digite o valor da hora");
                    fp.ValorHora = Convert.ToDouble(Console.ReadLine());
                    if (FolhaPagamentoDAO.CadastrarFolhaPagamento(fp))
                    {
                        Console.WriteLine("Folha de pagamento cadastrada com sucesso");
                    }
                    else
                    {
                        Console.WriteLine("Folha de pagamento ja cadastrada");
                    }
                }
                else
                {
                    Console.WriteLine("Cargo do funcionario invalido");
                }
            }
            else
            {
                Console.WriteLine("CPF do funcionario invalido");
            }
        }
Exemple #11
0
        public void Validar_Demonstrativo_Industria_Salario_5000_HrE50_HrD10()
        {
            int    horasCategoria   = 200;
            double salarioBase      = 5000;
            double horasExtras      = 50;
            double horasDescontadas = 10;

            var folhaPagamento = new FolhaDePagamento();
            var demonstrativo  = folhaPagamento.GerarDemonstrativo(horasCategoria, salarioBase, horasExtras, horasDescontadas);

            var quantidadeHorasExtrasEsperado      = 50;
            var valorTotalHorasExtrasEsperado      = 1250;
            var quantidadeHorasDescontadasEsperado = 10;
            var valorTotalHorasDescontadasEsperado = 250;
            var totalProventosEsperado             = 6000;
            var inssAliquotaEsperado   = 0.10;
            var inssValorEsperado      = 600;
            var irrfAliquotaEsperado   = 0.275;
            var irrfValorEsperado      = 1485;
            var totalDescontosEsperado = 2085;
            var totalLiquidoEsperado   = 3915;
            var fgtsAliquotaEsperado   = 0.11;
            var fgtsValorEsperado      = 660;

            Assert.AreEqual(demonstrativo.SalarioBase, salarioBase);
            Assert.AreEqual(demonstrativo.HorasExtras.QtdHoras, quantidadeHorasExtrasEsperado);
            Assert.AreEqual(demonstrativo.HorasExtras.ValorTotalHoras, valorTotalHorasExtrasEsperado);
            Assert.AreEqual(demonstrativo.HorasDescontadas.QtdHoras, quantidadeHorasDescontadasEsperado);
            Assert.AreEqual(demonstrativo.HorasDescontadas.ValorTotalHoras, valorTotalHorasDescontadasEsperado);
            Assert.AreEqual(demonstrativo.TotalProventos, totalProventosEsperado);
            Assert.AreEqual(demonstrativo.Inss.Aliquota, inssAliquotaEsperado);
            Assert.AreEqual(demonstrativo.Inss.Valor, inssValorEsperado);
            Assert.AreEqual(demonstrativo.Irrf.Aliquota, irrfAliquotaEsperado);
            Assert.AreEqual(demonstrativo.Irrf.Valor, irrfValorEsperado);
            Assert.AreEqual(demonstrativo.TotalDescontos, totalDescontosEsperado);
            Assert.AreEqual(demonstrativo.TotalLiquido, totalLiquidoEsperado);
            Assert.AreEqual(demonstrativo.Fgts.Aliquota, fgtsAliquotaEsperado);
            Assert.AreEqual(demonstrativo.Fgts.Valor, fgtsValorEsperado);
        }
Exemple #12
0
        public void Validar_Demonstrativo_Industria_Salario_139944()
        {
            int    horasCategoria   = 200;
            double salarioBase      = 1399.44;
            double horasExtras      = 0;
            double horasDescontadas = 0;

            var folhaPagamento = new FolhaDePagamento();
            var demonstrativo  = folhaPagamento.GerarDemonstrativo(horasCategoria, salarioBase, horasExtras, horasDescontadas);

            var quantidadeHorasExtrasEsperado      = 0;
            var valorTotalHorasExtrasEsperado      = 0;
            var quantidadeHorasDescontadasEsperado = 0;
            var valorTotalHorasDescontadasEsperado = 0;
            var totalProventosEsperado             = 1399.44;
            var inssAliquotaEsperado   = 0.09;
            var inssValorEsperado      = 125.94;
            var irrfAliquotaEsperado   = 0;
            var irrfValorEsperado      = 0;
            var totalDescontosEsperado = 125.94;
            var totalLiquidoEsperado   = 1273.5;
            var fgtsAliquotaEsperado   = 0.11;
            var fgtsValorEsperado      = 153.93;

            Assert.AreEqual(demonstrativo.SalarioBase, salarioBase);
            Assert.AreEqual(demonstrativo.HorasExtras.QtdHoras, quantidadeHorasExtrasEsperado);
            Assert.AreEqual(demonstrativo.HorasExtras.ValorTotalHoras, valorTotalHorasExtrasEsperado);
            Assert.AreEqual(demonstrativo.HorasDescontadas.QtdHoras, quantidadeHorasDescontadasEsperado);
            Assert.AreEqual(demonstrativo.HorasDescontadas.ValorTotalHoras, valorTotalHorasDescontadasEsperado);
            Assert.AreEqual(demonstrativo.TotalProventos, totalProventosEsperado);
            Assert.AreEqual(demonstrativo.Inss.Aliquota, inssAliquotaEsperado);
            Assert.AreEqual(demonstrativo.Inss.Valor, inssValorEsperado);
            Assert.AreEqual(demonstrativo.Irrf.Aliquota, irrfAliquotaEsperado);
            Assert.AreEqual(demonstrativo.Irrf.Valor, irrfValorEsperado);
            Assert.AreEqual(demonstrativo.TotalDescontos, totalDescontosEsperado);
            Assert.AreEqual(demonstrativo.TotalLiquido, totalLiquidoEsperado);
            Assert.AreEqual(demonstrativo.Fgts.Aliquota, fgtsAliquotaEsperado);
            Assert.AreEqual(demonstrativo.Fgts.Valor, fgtsValorEsperado);
        }
Exemple #13
0
        public static void Renderizar()
        {
            Funcionario f = new Funcionario();

            FolhaDePagamento fp = new FolhaDePagamento();

            Console.WriteLine("Digite o cpf do funcionario");
            f.cpf = Console.ReadLine();
            f     = FuncionarioDAO.BuscarFuncionarioCpf(f);
            if (f != null)
            {
                fp.Funcionario = f;
                Console.WriteLine("Digite o mes e o ano");
                fp.MesAno = Convert.ToDateTime(Console.ReadLine());
                fp        = FolhaPagamentoDAO.BuscarFolhaPorFuncionarioData(fp);
                if (fp != null)
                {
                    Console.WriteLine("Horas trabalhadas: " + fp.HorasTrabalhadas + " Valor hora: " + fp.ValorHora);
                    Console.WriteLine("Salario bruto: " + Calculos.CalcularSalarioBruto(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus));
                    Console.WriteLine("Imposto de renda: " + Calculos.CalcularImpostoRenda(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus));
                    Console.WriteLine("INSS: " + Calculos.CalcularINSS(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus));
                    Console.WriteLine("FGTS: " + Calculos.CalcularFGTS(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus));
                    Console.WriteLine("Bonus: " + fp.Cargo.bonus);
                    Console.WriteLine("Salario liquido: " + (Calculos.CalcularSalarioBruto(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus) -
                                                             Calculos.CalcularImpostoRenda(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus) -
                                                             Calculos.CalcularINSS(fp.HorasTrabalhadas, fp.ValorHora, fp.Cargo.bonus)));
                }
                else
                {
                    Console.WriteLine("Mes e ano não encontrado");
                }
            }
            else
            {
                Console.WriteLine("CPF NÃO ENCONTRADO");
            }
        }
        public static void Renderizar()
        {
            Funcionario      f  = new Funcionario();
            FolhaDePagamento fp = new FolhaDePagamento();

            Console.WriteLine("\tCONSULTAR FOLHA DE PAGAMENTO");
            Console.WriteLine("Informe o CPF do funcionário: ");
            f.Cpf = Console.ReadLine();
            f     = FuncionarioDAO.BuscarFuncionarioPorCpf(f.Cpf);
            if (f != null)
            {
                fp.Funcionario = f;
                Console.WriteLine("Informe o mês e ano: MM/yyyy");
                fp.MesAno = Convert.ToDateTime(Console.ReadLine());
                fp        = FolhaDePagamentoDAO.ConsultarFolhaDePagamento(fp.Funcionario.Cpf, fp.MesAno.Month, fp.MesAno.Year);
                if (fp != null)
                {
                    Console.WriteLine("Salário Bruto: " + Calculos.SalarioBruto(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2"));
                    Console.WriteLine("Imposto de Renda: " + Calculos.ImpostoDeRenda(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2"));
                    Console.WriteLine("INSS: " + Calculos.INSS(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2"));
                    Console.WriteLine("FGTS: " + Calculos.FGTS(fp.HorasTrabalhadas, fp.ValorHora).ToString("C2"));
                    Console.WriteLine("Bônus: " + Calculos.Bonus(fp.Cargo.Bonus, fp.HorasTrabalhadas, fp.ValorHora).ToString("C2"));
                    Console.WriteLine("Salário Líquido: " + (Calculos.SalarioBruto(fp.HorasTrabalhadas, fp.ValorHora) -
                                                             Calculos.ImpostoDeRenda(fp.HorasTrabalhadas, fp.ValorHora) -
                                                             Calculos.INSS(fp.HorasTrabalhadas, fp.ValorHora)).ToString("C2"));
                }
                else
                {
                    Console.WriteLine("Nenhuma Folha de Pagamento encontrada com essas informações");
                }
            }
            else
            {
                Console.WriteLine("Funcionário não encontrado");
            }
        }
Exemple #15
0
        static void Main(string[] args)
        {
            //Criando o nosso vetor
            Funcionario[] funcionarios = new Funcionario[1000];
            System.Console.WriteLine(FolhaDePagamento.INSS);

            string comando = null;
            int    quantidadeDeCadastros = 0;

            do
            {
                //Limpa o menu
                Console.Clear();

                #region Menu
                Console.WriteLine("[1]. Cadastrar Funcionário");
                Console.WriteLine("[2]. Exibir Folha de Pagamento");
                Console.WriteLine("[3]. Total de custo bruto da folha");
                Console.WriteLine("[4]. Aumento de salário");
                Console.WriteLine("[5]. Total de custo líquido da folha\n");
                Console.WriteLine("[0]. Sair");
                comando = Console.ReadLine();
                #endregion

                switch (comando)
                {
                    #region Cadastro de usuário
                case "1":
                    if (quantidadeDeCadastros < funcionarios.Length)
                    {
                        //Instancia do funcionario
                        funcionarios[quantidadeDeCadastros] = new Funcionario();

                        //Recebendo o nome
                        Console.WriteLine("Informe o nome: ");
                        funcionarios[quantidadeDeCadastros].Nome = Console.ReadLine();

                        //Recebendo o salario
                        Console.WriteLine("Informe o salário: ");
                        funcionarios[quantidadeDeCadastros].Salario = double.Parse(Console.ReadLine());

                        //Incrementa a quantidade
                        quantidadeDeCadastros++;
                    }
                    else
                    {
                        System.Console.WriteLine("Erro. Quantidade máxima de usuários cadastrados");
                    }

                    break;
                    #endregion

                    #region Folha de pagamento

                case "2":

                    //Exibindo os funcionarios
                    int cont = 0;
                    foreach (Funcionario f in funcionarios)
                    {
                        //Verificando se o f for diferete de nulo
                        if (f == null)
                        {
                            break;
                        }

                        Console.WriteLine($"[{cont}] - Nome: {f.Nome}; Salário: {f.Salario}");
                        cont++;
                    }

                    System.Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeDeCadastros - 1}]");
                    int indice = int.Parse(Console.ReadLine());

                    if (indice >= 0 && indice < quantidadeDeCadastros)
                    {
                        FolhaDePagamento.MostrarFolhaDePagamento(funcionarios[indice]);
                    }
                    else
                    {
                        System.Console.WriteLine("Índice inválido");
                    }

                    break;

                    #endregion

                    #region Salario Bruto
                case "3":
                    double total = 0;
                    //Percorre a lista de funcionarios
                    foreach (Funcionario f in funcionarios)
                    {
                        //Verificando se o funcionario e nulo
                        if (f == null)
                        {
                            break;
                        }

                        //Realiza a soma dos salarios
                        total += f.Salario;
                    }
                    System.Console.WriteLine($"Total de salários brutos: {total}");
                    break;
                    #endregion

                case "4":
                    System.Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeDeCadastros - 1}]");
                    int indice2 = int.Parse(Console.ReadLine());

                    if (indice2 >= 0 && indice2 < quantidadeDeCadastros)
                    {
                        FolhaDePagamento.AumentarSalario(funcionarios[indice2]);
                    }
                    else
                    {
                        System.Console.WriteLine("Índice inválido");
                    }
                    break;

                case "5":
                    double totalLiquido = 0;
                    //Percorre a lista de funcionarios
                    foreach (Funcionario f in funcionarios)
                    {
                        //Verificando se o funcionario e nulo
                        if (f == null)
                        {
                            break;
                        }

                        //Realiza a soma dos salarios
                        totalLiquido += f.Salario - FolhaDePagamento.CalcularDescontos(f.Salario);
                    }
                    System.Console.WriteLine($"Total de salários brutos: {totalLiquido}");
                    break;

                default:
                    Console.WriteLine("Comando inválido");

                    break;
                }

                Console.ReadKey();
            } while (comando != "0");
        }
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;

            sbyte escolha = 0;

            const int tamanhoDataBase = 1001;

            FolhaDePagamento.funcionarios = new Funcionario[tamanhoDataBase];
            Relatorio.MensagemSucesso("Projeto Finanças");

            do
            {
                Console.WriteLine("");
                Relatorio.TextDecoration("O Que deseja fazer?");
                Console.WriteLine($"\n1- Cadastrar um Funcionario\n2- Exibir Folha De Pagamento\n3- Exibir total de custos bruto da folha de pagamento\n4- Aumentar o salario de um funcionario\n5- Exibir total de custos liquido da folha de pagamento\n6- Ver maior salario\n7- Ver menor salario\n8- Alterar cadastro\n9- Remover cadastro\n0 - Sair\n10- Criar DataBase (Aleatorio)\n11- Listar funcionarios\n");
                sbyte.TryParse(Console.ReadLine().ToString(), out escolha);
                int id = 0;

                switch (escolha)
                {
                case 1:    //   Cadastrar funcionario   //
                    for (int i = 0; i < tamanhoDataBase - 1; i++)
                    {
                        if (FolhaDePagamento.funcionarios[i] == null)
                        {
                            FolhaDePagamento.funcionarios[i] = new Funcionario();
                            FolhaDePagamento.CadastrarFuncionario(i);
                            break;
                        }
                    }
                    break;

                case 2:    //   Exibir folha de pagamento   //
                    Relatorio.TextDecoration("Digite o numero de identificação do funcionario");
                    int.TryParse(Console.ReadLine(), out id);
                    if (FolhaDePagamento.funcionarios[id] != null)
                    {
                        FolhaDePagamento.MostrarFolhaDePagamento(id);
                    }
                    else
                    {
                        Relatorio.FuncionarioNaoEncontrado(id);
                    }
                    break;

                case 3:    //   Exibir total de custos bruto    //
                    FolhaDePagamento.TotalCustosBruto();
                    break;

                case 4:    //   Aumentar Salario de um funcionario  //
                    Relatorio.TextDecoration("Informe o numero de identificação do funcionario no qual você quer aumentar o salario");
                    int.TryParse(Console.ReadLine(), out id);
                    if (id < 1001 && id >= 0)
                    {
                        if (FolhaDePagamento.funcionarios[id] != null)
                        {
                            FolhaDePagamento.AumentarSalario(id);
                        }
                        else
                        {
                            Relatorio.FuncionarioNaoEncontrado(id);
                        }
                    }
                    else
                    {
                        Relatorio.TextDecoration($"O valor inserido ({id}) não está dentro dos limites do banco de dados");
                    }
                    break;

                case 5:    //   Exibir total de custos liquido da folha de pagamento    //
                    FolhaDePagamento.TotalCustosLiquido();
                    break;

                case 6:    //   Ver maior salario   //
                    FolhaDePagamento.MaiorSalario();
                    break;

                case 7:    //   Ver menor salario   //
                    FolhaDePagamento.MenorSalario();
                    break;

                case 8:    //   Alterar cadastro    //
                    Console.WriteLine("Digite o ID do funcionario que você quer alterar");
                    int.TryParse(Console.ReadLine(), out id);
                    if (id < tamanhoDataBase && id >= 0)
                    {
                        if (FolhaDePagamento.funcionarios[id] != null)
                        {
                            FolhaDePagamento.AlterarCadastro(id);
                        }
                        else
                        {
                            Relatorio.TextDecoration($"Não existe nenhum funcionario cadastrado no ID {id}.");
                            Console.WriteLine("\nDeseja cadastar um funcionario nesse ID?\n1- Sim\n2- Não");
                            sbyte.TryParse(Console.ReadLine(), out sbyte esc);
                            switch (esc)
                            {
                            case 1:
                                FolhaDePagamento.CadastrarFuncionario(id);
                                break;

                            default:
                                //porra nenhuma acontece ;-;
                                break;
                            }
                        }
                    }
                    else
                    {
                        Relatorio.TextDecoration($"O valor inserido ({id}) não está dentro dos limites do banco de dados");
                    }
                    break;

                case 9:    //   Remover cadastro    //
                    Console.WriteLine("Digite o ID do funcionario que você quer remover");
                    int.TryParse(Console.ReadLine(), out id);
                    if (id < tamanhoDataBase && id >= 0)
                    {
                        if (FolhaDePagamento.funcionarios[id] != null)
                        {
                            Console.WriteLine($"\nDeseja mesmo excluir o Funcionario {FolhaDePagamento.funcionarios[id].nome} no indice {id}?\n1- Sim\n2- Não");
                            sbyte.TryParse(Console.ReadLine(), out sbyte esc);
                            switch (esc)
                            {
                            case 1:
                                Relatorio.MensagemSucesso($"Funcionario {FolhaDePagamento.funcionarios[id].nome} removido com sucesso");
                                FolhaDePagamento.funcionarios[id] = null;
                                break;

                            default:
                                //porra nenhuma acontece ;-;
                                break;
                            }
                        }
                        else
                        {
                            Relatorio.TextDecoration($"Não há funcionario no indice {id}.");
                        }
                    }
                    else
                    {
                        Relatorio.TextDecoration($"O valor inserido ({id}) não está dentro dos limites do banco de dados");
                    }
                    break;

                case 10:    // Gerar funcionarios aleatorio //
                    Relatorio.TextDecoration($"Insira a quantidade de funcionarios");
                    Console.WriteLine($"um numero entre 1 e {tamanhoDataBase}");
                    int.TryParse(Console.ReadLine(), out int valor);

                    FolhaDePagamento.funcionarios = new Funcionario[tamanhoDataBase];

                    if (valor < tamanhoDataBase && valor > 0)
                    {
                        for (int i = 0; i < valor; i++)
                        {
                            FolhaDePagamento.GerarDataBase(i);
                        }
                    }
                    else
                    {
                        Relatorio.TextDecoration("O numero inserido não é valido.");
                    }
                    break;

                case 11:    //  Listar Funcionario  //
                    foreach (Funcionario item in FolhaDePagamento.funcionarios)
                    {
                        if (item != null)
                        {
                            Console.WriteLine($"ID : {item.id} , Nome : {item.nome} , Salario R${item.salarioBruto}");
                        }
                    }
                    break;

                case 12:
                    Relatorio.EasterEgg();
                    break;

                case 0:    //   Sair     //
                    Console.WriteLine("Aperte qualquer tecla para sair");
                    break;

                default:    //  Exceção //
                    escolha = 1;
                    Relatorio.TextDecoration("Você deve escolhe qualquer uma dessas escolhas numeradas");
                    continue;
                }
                if (escolha != 0)
                {
                    Console.WriteLine("Aperte qualquer tecla para continuar");
                    Console.ReadKey();
                }
            }while(escolha != 0);
            Console.ReadKey();
        }
        static void Main()
        {
            Funcionario[] funcionarios = new Funcionario[1000];
            Console.WriteLine(FolhaDePagamento.INSS);

            string opcao;
            int    quantidadeCadastros = 0;

            do
            {
                #region Menu
                Console.Clear();
                Console.WriteLine("[1]. Cadastrar Funcionário");
                Console.WriteLine("[2]. Exibir Folha de Pagamento");
                Console.WriteLine("[3]. Total de custo bruto da folha");
                Console.WriteLine("[4]. Aumento de salário");
                Console.WriteLine("[5]. Total de custo líquido da folha\n");
                Console.WriteLine("[0]. Sair");
                opcao = Console.ReadLine();
                #endregion

                switch (opcao)
                {
                case "1":
                    if (quantidadeCadastros < funcionarios.Length)
                    {
                        funcionarios[quantidadeCadastros] = new Funcionario();

                        Console.WriteLine("Informe o nome: ");
                        funcionarios[quantidadeCadastros].Nome = Console.ReadLine();

                        Console.WriteLine("Informe o salário: ");
                        funcionarios[quantidadeCadastros].Salario = double.Parse(Console.ReadLine());

                        quantidadeCadastros++;
                    }
                    else
                    {
                        Console.WriteLine("Erro. Quantidade máxima de usuários cadastrados");
                    }
                    break;

                case "2":
                    int cont = 0;

                    foreach (Funcionario f in funcionarios)
                    {
                        if (f == null)
                        {
                            break;
                        }

                        Console.WriteLine($"[{cont}] - Nome: {f.Nome}; Salário: {f.Salario}");
                        cont++;
                    }

                    Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeCadastros - 1}]");
                    int indice = int.Parse(Console.ReadLine());

                    if (indice >= 0 && indice < quantidadeCadastros)
                    {
                        FolhaDePagamento.MostrarFolhaDePagamento(funcionarios[indice]);
                    }
                    else
                    {
                        Console.WriteLine("Índice inválido");
                    }
                    break;

                case "3":
                    double total = 0;

                    foreach (Funcionario f in funcionarios)
                    {
                        if (f == null)
                        {
                            break;
                        }

                        total += f.Salario;
                    }
                    Console.WriteLine($"Total de salários brutos: {total}");
                    break;

                case "4":
                    Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeCadastros - 1}]");
                    int indice2 = int.Parse(Console.ReadLine());

                    if (indice2 >= 0 && indice2 < quantidadeCadastros)
                    {
                        FolhaDePagamento.AumentarSalario(funcionarios[indice2]);
                    }
                    else
                    {
                        Console.WriteLine("Índice inválido");
                    }
                    break;

                case "5":
                    double totalLiquido = 0;

                    foreach (Funcionario f in funcionarios)
                    {
                        if (f == null)
                        {
                            break;
                        }

                        totalLiquido += f.Salario - FolhaDePagamento.CalcularDescontos(f.Salario);
                    }
                    Console.WriteLine($"Total de salários brutos: {totalLiquido}");
                    break;

                default:
                    Console.WriteLine("Comando inválido");
                    break;
                }
                Console.ReadKey();
            } while (opcao != "0");
        }