示例#1
0
        public Demonstrativo GerarDemonstrativo(int horasCategoria, double salarioBase, double horasExtras, double horasDescontadas)
        {
            var valorHoras = Math.Round(salarioBase / horasCategoria, 777);                                                                            // valor hora funcionario

            double valorTotalExtras    = Math.Round(valorHoras * horasExtras, 2);                                                                      // valor de horas extras
            double valorTotalDescontos = Math.Round(valorHoras * horasDescontadas, 2);                                                                 // valor de horas descontadas

            HorasCalculadas HorasExtrasCalculadas      = new HorasCalculadas(horasExtras, valorTotalExtras);                                           // total de horas extras calculadas
            HorasCalculadas HorasDescontadasCalculadas = new HorasCalculadas(horasDescontadas, valorTotalDescontos);                                   // total de horas descontadas calculadas

            double totalProventos = Math.Round(salarioBase + (HorasExtrasCalculadas.ValorTotalHoras - HorasDescontadasCalculadas.ValorTotalHoras), 2); // valor total de ganhos mensais do funcionario

            Desconto INSS = new CalcularINSS().calcular(totalProventos);

            double salarioComINSS = totalProventos - INSS.Valor;

            Desconto IRRF = new CalcularINSS().calcular(salarioComINSS);

            double totalDescontos = INSS.Valor + IRRF.Valor;

            double TotalLiquido = Math.Round(totalProventos - totalDescontos, 2);

            double valorFGTS = Math.Round(totalProventos * 0.11, 2);

            Desconto FGTS = new Desconto(0.11, valorFGTS);

            return(new Demonstrativo(salarioBase, horasCategoria, HorasExtrasCalculadas,
                                     HorasDescontadasCalculadas, totalProventos, INSS,
                                     IRRF, totalDescontos, TotalLiquido,
                                     FGTS));
        }
 public Demonstrativo(
     double salarioBase,
     double hrsConvencao,
     HorasCalculadas horasExtras,
     HorasCalculadas horasDescontadas,
     double totalProventos,
     Desconto inss,
     Desconto irrf,
     double totalDescontos,
     double totalLiquido,
     Desconto fgts)
 {
     SalarioBase      = salarioBase;
     HrsConvencao     = hrsConvencao;
     HorasExtras      = horasExtras;
     HorasDescontadas = horasDescontadas;
     TotalProventos   = totalProventos;
     Inss             = inss;
     Irrf             = irrf;
     TotalDescontos   = totalDescontos;
     TotalLiquido     = totalLiquido;
     Fgts             = fgts;
 }