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)); }
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)); }