Beispiel #1
0
        //TODO:
        public decimal ObterImpostoDeRendaRetido(Pessoa pessoa)
        {
            PessoaBLL bLL = new PessoaBLL();

            var doenca = bLL.PossuiDoencaGrave(pessoa);

            if (doenca == false)
            {
                if ((pessoa.TotalRenda >= Convert.ToDecimal(1903.89)) && (pessoa.TotalRenda <= Convert.ToDecimal(2826.65)))
                {
                    var imposto = pessoa.TotalRenda * Convert.ToDecimal(7.5) / 100;
                    return(imposto);
                }
                if ((pessoa.TotalRenda >= Convert.ToDecimal(2826.66)) && (pessoa.TotalRenda <= Convert.ToDecimal(3751.05)))
                {
                    var imposto = pessoa.TotalRenda * 15 / 100;
                    return(imposto);
                }
                if ((pessoa.TotalRenda >= Convert.ToDecimal(3751.06)) && (pessoa.TotalRenda <= Convert.ToDecimal(4664.68)))
                {
                    var imposto = pessoa.TotalRenda * Convert.ToDecimal(22.5) / 100;
                    return(imposto);
                }
                else
                {
                    var imposto = pessoa.TotalRenda * Convert.ToDecimal(27.5) / 100;
                    return(imposto);
                }
            }

            return(0);
        }
        //TODO:
        public decimal ObterImpostoDeRendaRetido(Pessoa pessoa)
        {
            var     listaPessoa    = new PessoaBLL();
            bool    temEnfermidade = listaPessoa.PossuiDoencaGrave(pessoa);
            bool    temTipoIsento  = listaPessoa.PossuiTipoIsento(pessoa);
            decimal salario        = pessoa.TotalRenda;

            decimal valorBase  = (decimal)(1903.88);
            decimal valorBase1 = (decimal)(2826.65);
            decimal valorBase2 = (decimal)(3751.05);
            decimal valorBase3 = (decimal)(4664.68);

            if (!temEnfermidade && !temTipoIsento && (salario > valorBase))
            {
                decimal aliquota = 0;

                if (salario > valorBase && salario <= valorBase1)
                {
                    aliquota = (decimal)(0.075);
                }
                else if (salario > valorBase1 && salario <= valorBase2)
                {
                    aliquota = (decimal)(0.15);
                }
                else if (salario > valorBase2 && salario <= valorBase3)
                {
                    aliquota = (decimal)(0.225);
                }
                else
                {
                    aliquota = (decimal)(0.275);
                }

                return(salario * aliquota);
            }
            else
            {
                Console.WriteLine(string.Format("Este Cpf é isento."));
            }

            return(0);
        }