public static Desconto IRRF(double TotalProventos, Desconto INSS)
        {
            double a = 0;
            double v = TotalProventos - INSS.Valor;

            if (v <= 1710.78)
            {
                new Desconto(0, 0);
            }
            else if (v <= 2563.91)
            {
                a = 0.075;
            }
            else if (a <= 3418.59)
            {
                a = 0.15;
            }
            else if (a <= 4271.59)
            {
                a = 0.225;
            }
            else
            {
                a = 0.275;
            }

            return(new Desconto(a, Math.Truncate(((v * a) / 100))));
        }
        public Demonstrativo GerarDemonstrativo(int horasCategoria, double salarioBase, double horasExtras, double horasDescontadas)
        {
            double          valorHora      = salarioBase / horasCategoria;
            HorasCalculadas extras         = new HorasCalculadas(horasExtras, Math.Round((valorHora * horasExtras), 2));
            HorasCalculadas descontadas    = new HorasCalculadas(horasDescontadas, Math.Round((valorHora * horasDescontadas), 2));
            double          totalProventos = Math.Truncate(salarioBase + extras.ValorTotalHoras - descontadas.ValorTotalHoras);
            Desconto        inss           = INSS(totalProventos);
            Desconto        irrf           = IRRF(totalProventos, inss);
            Desconto        fgts           = FGTS(totalProventos);
            double          totalDescontos = Math.Truncate(inss.Valor + fgts.Valor);
            double          salarioLiquido = Math.Truncate(salarioBase - totalDescontos);


            Demonstrativo d = new Demonstrativo(
                Math.Truncate(salarioBase),
                horasCategoria,
                extras,
                descontadas,
                totalProventos,
                inss,
                irrf,
                totalDescontos,
                salarioLiquido,
                fgts);

            return(d);
        }
        public Demonstrativo GerarDemonstrativo(int horasCategoria, double salarioBase, double horasExtras, double horasDescontadas)
        {
            double          PrecoPorHoras         = Math.Round(salarioBase / horasCategoria, 2);
            HorasCalculadas CustoHorasExtras      = new HorasCalculadas(horasExtras, PrecoPorHoras);
            HorasCalculadas TotalHorasDescontadas = new HorasCalculadas(horasDescontadas, PrecoPorHoras);
            double          TotalDeProventos      = Math.Round(salarioBase + CustoHorasExtras.Calcular() - TotalHorasDescontadas.Calcular(), 2);
            Desconto        INSS           = new Desconto(INSS_aliquota(TotalDeProventos), TotalDeProventos);
            Desconto        IRRF           = new Desconto(IRRF_aliquota(TotalDeProventos - INSS.CalcularDesconto()), TotalDeProventos - INSS.CalcularDesconto());
            double          TotalDescontos = INSS.CalcularDesconto() + IRRF.CalcularDesconto();
            double          SalarioLiquido = Math.Round(TotalDeProventos - TotalDescontos, 2);
            Desconto        FGTS           = new Desconto((11 / 100), TotalDeProventos);

            Demonstrativo modelo = new Demonstrativo(salarioBase, horasCategoria, CustoHorasExtras, TotalHorasDescontadas, TotalDeProventos, INSS, IRRF, TotalDescontos, SalarioLiquido, FGTS);

            modelo.demonstrativoNoConsole();

            return(modelo);
        }
 public Demonstrativo(
     double salarioBase,
     double hrsConvencao,
     HorasCalculadas horasExtras,
     HorasCalculadas horasDescontadas,
     double totalProventos,
     Desconto inss,
     Desconto irrf,
     double totalDescontos,
     double totalLiquido,
     Desconto fgts)
 {
     SalarioBase      = Math.Round(salarioBase, 2);
     HrsConvencao     = hrsConvencao;
     HorasExtras      = horasExtras;
     HorasDescontadas = horasDescontadas;
     TotalProventos   = Math.Round(totalProventos, 2);
     Inss             = inss;
     Irrf             = irrf;
     TotalDescontos   = Math.Round(totalDescontos, 2);
     TotalLiquido     = Math.Round(totalLiquido, 2);
     Fgts             = fgts;
 }
        public Demonstrativo GerarDemonstrativo(int horasCategoria, double salarioBase, double horasExtras, double horasDescontadas)
        {
            double SalarioBase      = salarioBase;
            double HorasCat         = horasCategoria;
            double HorasExtras      = horasExtras;
            double HorasDescontadas = horasDescontadas;

            var TotalHorasExtras      = new HorasCalculadas(HorasExtras, SalarioBase / HorasCat);
            var TotalHorasDescontadas = new HorasCalculadas(HorasDescontadas, SalarioBase / HorasCat);


            double SalarioTotal = (SalarioBase + TotalHorasExtras.CalcularHoras() - TotalHorasDescontadas.CalcularHoras());

            var aliquota = 0.0;

            if (SalarioTotal < 1000)
            {
                aliquota = 8.0;
            }

            else if (SalarioTotal < 1500)
            {
                aliquota = 9.0;
            }

            else
            {
                aliquota = 10.0;
            }

            var    INSS      = new Desconto(aliquota, SalarioTotal);
            double valorIRRF = SalarioTotal - INSS.CalcularDesconto();

            if (valorIRRF < 1710.18)
            {
                aliquota = 0;
            }

            else if (valorIRRF < 2563.91)
            {
                aliquota = 7.5;
            }

            else if (valorIRRF < 3418.59)
            {
                aliquota = 15.0;
            }

            else if (valorIRRF < 4271.59)
            {
                aliquota = 22.5;
            }

            else
            {
                aliquota = 27.5;
            }

            Desconto IRRF = new Desconto(aliquota, valorIRRF);

            double totalDescontos = INSS.CalcularDesconto() + IRRF.CalcularDesconto();
            double totalLiquido   = SalarioTotal - totalDescontos;

            Desconto FGTS = new Desconto(11, SalarioTotal);

            return(new Demonstrativo(SalarioBase, HorasCat, TotalHorasExtras, TotalHorasDescontadas,
                                     SalarioTotal, INSS, IRRF, totalDescontos, totalLiquido, FGTS));
        }
Esempio n. 6
0
        public Demonstrativo GerarDemonstrativo(int horasCategoria, double salarioBase, double horasExtras, double horasDescontadas)
        {
            double SalarioBase      = salarioBase;
            double HorasConvencao   = horasCategoria;
            double HorasExtras      = horasExtras;
            double HorasDescontadas = horasDescontadas;

            // Totais
            var TotalHorasExtras      = new HorasCalculadas(HorasExtras, SalarioBase / HorasConvencao);
            var TotalHorasDescontadas = new HorasCalculadas(HorasDescontadas, SalarioBase / HorasConvencao);


            double totalSalario = (SalarioBase + TotalHorasExtras.CalcHoras() - TotalHorasDescontadas.CalcHoras());

            double aliquota = 0.0;

            // regras de alíquota
            if (totalSalario < 1000)
            {
                aliquota = 8.0;
            }

            else if (totalSalario < 1500)
            {
                aliquota = 9.0;
            }

            else
            {
                aliquota = 10.0;
            }


            // regras de INSS
            var    INSS    = new Desconto(aliquota, totalSalario);
            double valIRRF = totalSalario - INSS.CalcDesc();

            //regras de IRRF
            if (valIRRF < 1710.18)
            {
                aliquota = 0;
            }

            else if (valIRRF < 2563.91)
            {
                aliquota = 7.5;
            }

            else if (valIRRF < 3418.59)
            {
                aliquota = 15.0;
            }

            else if (valIRRF < 4271.59)
            {
                aliquota = 22.5;
            }

            else
            {
                aliquota = 27.5;
            }

            Desconto IRRF = new Desconto(aliquota, valIRRF);

            //Descontos
            double totalDescontos = INSS.CalcDesc() + IRRF.CalcDesc();
            double totalLiquido   = totalSalario - totalDescontos;

            //FGTS
            Desconto FGTS = new Desconto(11, totalSalario);

            return(new Demonstrativo(SalarioBase, HorasConvencao, TotalHorasExtras, TotalHorasDescontadas,
                                     totalSalario, INSS, IRRF, totalDescontos, totalLiquido, FGTS));
        }