public void InstanciarContribuinteSemRendaBrutaMensalaErro()
        {
            Cpf          cpf          = Cpf.Create(_cpfValido);
            Contribuinte contribuinte = Contribuinte.Novo("Diego Parente", cpf, 0M, 2);

            Assert.IsFalse(contribuinte.IsValid());
        }
        // POST: api/Contribuintes
        public int Post([FromBody] WebApp.Models.ContribuinteViewModel value)
        {
            Contribuinte contribuinte = CustomAutoMapper <DTO.Contribuinte, WebApp.Models.ContribuinteViewModel> .Map(value);

            return(Business.Add(contribuinte));
            //new ContribuinteBusiness().Add(contribuinte);
        }
        public void InstanciarContribuinteSucesso()
        {
            Cpf          cpf          = Cpf.Create(_cpfValido);
            Contribuinte contribuinte = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);

            Assert.IsTrue(contribuinte.IsValid());
        }
        public void InstanciarContribuinteComCpfInvalidoErro()
        {
            Cpf          cpf          = Cpf.Create("09854146146");
            Contribuinte contribuinte = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);

            Assert.IsFalse(contribuinte.IsValid());
        }
Ejemplo n.º 5
0
        public double CalculaDescontoPorDependentes(Contribuinte contribuinte, double salarioMinimo)
        {
            var    percTotal     = contribuinte.NumeroDepentedentes * PercDesconto;
            double descontoTotal = (salarioMinimo * percTotal) / 100;

            return(descontoTotal);
        }
        public Contribuinte Update(Contribuinte model)
        {
            _contexto.Contribuintes.Update(model);
            _contexto.SaveChanges();

            return(model);
        }
Ejemplo n.º 7
0
        public ServiceResponse <bool> Inserir(ContribuinteDto dto)
        {
            var result = new ServiceResponse <bool>();

            try
            {
                var contribuinte = new Contribuinte(dto.CPF, dto.Nome, dto.Dependentes, dto.Salario);
                if (contribuinte.Valid)
                {
                    var entidade = _service.ObterPorCPF(contribuinte.CPF);
                    if (entidade != null)
                    {
                        result.Messages.Add("O CPF informado já pertence a um contribuinte");
                    }
                    else
                    {
                        result.Object = result.Result = _service.Insert(contribuinte);
                    }
                }
                else
                {
                    foreach (var item in contribuinte.Notifications)
                    {
                        result.Messages.Add(item.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Messages.Add("Problemas ao salvar o contribuintes: " + ex.Message);
            }

            return(result);
        }
Ejemplo n.º 8
0
        static void AdicionarContribuinteAPI()
        {
            try
            {
                Contribuinte contribuinte = new Contribuinte()
                {
                    Id   = 0,
                    Nome = "Matheus",
                    CPF  = "01029320239",
                    NumeroDependentes = 0,
                    RendaBrutaMensal  = 1000
                };

                var uri = new Uri("http://localhost:5001/api/contribuinte/criarcontribuinte");

                var conteudoJson       = Newtonsoft.Json.JsonConvert.SerializeObject(contribuinte);
                var conteudoJsonString = new StringContent(conteudoJson, Encoding.UTF8, "application/json");

                var client   = new HttpClient();
                var resposta = client.PutAsync(uri, conteudoJsonString).Result;

                if (!resposta.IsSuccessStatusCode)
                {
                    throw new Exception("Dados do investidor não encontrado!");
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public IActionResult Create([FromBody] Contribuinte contribuinte)
        {
            _context.Contribuintes.Add(contribuinte);
            _context.SaveChanges();

            return(CreatedAtRoute("GetContribuinte", new { id = contribuinte.Id }, contribuinte));
        }
Ejemplo n.º 10
0
        public async Task <ActionResult <Contribuinte> > PostContribuinte(Contribuinte contribuinte, [FromServices] DataContext context)
        {
            context.Contribuintes.Add(contribuinte);
            await context.SaveChangesAsync();

            return(CreatedAtAction("GetContribuinte", new { id = contribuinte.Id }, contribuinte));
        }
Ejemplo n.º 11
0
        public static Double CalcBase(Contribuinte contribuinte)
        {
            Double baseINSS = 0;

            if (contribuinte.Salario <= 1751.81)
            {
                baseINSS = contribuinte.Salario - (contribuinte.Salario * 0.08);
            }

            else if (contribuinte.Salario >= 1751.82 && contribuinte.Salario <= 2919.72)
            {
                baseINSS = contribuinte.Salario - (contribuinte.Salario * 0.09);
            }

            else if (contribuinte.Salario >= 2919.73 && contribuinte.Salario <= 5839.45)
            {
                baseINSS = contribuinte.Salario - (contribuinte.Salario * 0.11);
            }

            else if (contribuinte.Salario > 5839.45)
            {
                baseINSS = contribuinte.Salario - (5839.45 * 0.11);
            }

            return(baseINSS - (contribuinte.Dependentes * 189.59));
        }
        private string RetornaValorImpostoDeRenda(Contribuinte contribuinte)
        {
            var rendaLiquida = contribuinte.RendaBrutaMensal -
                               (contribuinte.NumeroDependentes * (ValorSalarioMinimo * 0.05));

            if (rendaLiquida <= ValorSalarioMinimo * 2)
            {
                //Isento
            }
            else if (rendaLiquida >= ValorSalarioMinimo * 2 && rendaLiquida <= ValorSalarioMinimo * 4)
            {
                rendaLiquida = rendaLiquida - (rendaLiquida * 0.75);
            }
            else if (rendaLiquida >= ValorSalarioMinimo * 4 && rendaLiquida <= ValorSalarioMinimo * 5)
            {
                rendaLiquida = rendaLiquida - (rendaLiquida * 0.15);
            }
            else if (rendaLiquida >= ValorSalarioMinimo * 5 && rendaLiquida <= ValorSalarioMinimo * 7)
            {
                rendaLiquida = rendaLiquida - (rendaLiquida * 0.225);
            }
            else if (rendaLiquida > ValorSalarioMinimo * 7)
            {
                rendaLiquida = rendaLiquida - (rendaLiquida * 0.275);
            }

            return("R$" + rendaLiquida.ToString(("######.00")));
        }
Ejemplo n.º 13
0
        public double CalcularAliquota(Contribuinte contribuinte, double salarioMinimo)
        {
            double aliquota     = 0;
            double rendaliquida = _contribuinteService.CalculaRendaLiquida(contribuinte, salarioMinimo);

            if ((salarioMinimo * 2) >= rendaliquida)
            {
                aliquota = 0;
            }
            else if (rendaliquida > (salarioMinimo * 2) && rendaliquida <= (salarioMinimo * 4))
            {
                aliquota = rendaliquida * 0.075;
            }
            else if (rendaliquida > (salarioMinimo * 4) && rendaliquida <= (salarioMinimo * 5))
            {
                aliquota = rendaliquida * 0.15;
            }
            else if (rendaliquida > (salarioMinimo * 5) && rendaliquida <= (salarioMinimo * 7))
            {
                aliquota = rendaliquida * 0.225;
            }
            else if (rendaliquida > (salarioMinimo * 7))
            {
                aliquota = rendaliquida * 0.275;
            }

            return(aliquota);
        }
        public CadastroViewModel(IDialogService dialogService,
                                 IContribuinteService contribuinteService)
            : base("Cadastro")
        {
            _dialogService       = dialogService;
            _contribuinteService = contribuinteService;

            Contribuinte = new Contribuinte();

            GravarClickedCommand = new Command(() =>
            {
                if (ValidaPreenchimentoCampos())
                {
                    if (contribuinteService.AdicionarContribuinte(_contribuinte))
                    {
                        _dialogService.AlertAsync("Status", "Contribuinte cadastrado com sucesso!", "Ok");
                    }
                    else
                    {
                        _dialogService.AlertAsync("Status", "Não foi possível cadastrar o novo contribuinte. Verifique sua conexão!", "Ok");
                    }

                    Contribuinte = new Contribuinte();
                }
            });
        }
Ejemplo n.º 15
0
        public async Task <ActionResult <Contribuinte> > PostContribuinte(Contribuinte contribuinte)
        {
            _context.Contribuintes.Add(contribuinte);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetContribuinte), new { id = contribuinte.Id }, contribuinte));
        }
Ejemplo n.º 16
0
        public async Task <IActionResult> PutContribuinte(Guid id, Contribuinte contribuinte)
        {
            if (id != contribuinte.Id)
            {
                return(BadRequest());
            }

            _context.Entry(contribuinte).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ContribuinteExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 17
0
        public void CalcularImpostoDeRendaIsentoComSucesso()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, 985m);

            Assert.AreEqual(impostaDeRenda.Aliquota.Percentual, 0M);
        }
Ejemplo n.º 18
0
        public void CalcularImpostoDeRendaVinteESeteEMeioPorcentoValido()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 10000M, 1);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, _salarioMinimo);

            Assert.IsTrue(impostaDeRenda.IsValid());
        }
Ejemplo n.º 19
0
        public void CalcularImpostoDeRendaIsentoValido()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 1500M, 2);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, 985m);

            Assert.IsTrue(impostaDeRenda.IsValid());
        }
Ejemplo n.º 20
0
        public void CalcularImpostoDeRendaComContribuinteInvalidoErro()
        {
            Cpf            cpf            = Cpf.Create("09857146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 0M, 2);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, 985m);

            Assert.IsFalse(impostaDeRenda.IsValid());
        }
Ejemplo n.º 21
0
        public void CalcularImpostoDeRendaQuinzePorcentoComSucesso()
        {
            Cpf            cpf            = Cpf.Create("09854146006");
            Contribuinte   contribuinte   = Contribuinte.Novo("Diego Parente", cpf, 4925M, 1);
            ImpostoDeRenda impostaDeRenda = ImpostoDeRenda.Novo(contribuinte, _salarioMinimo);

            Assert.AreEqual(impostaDeRenda.Aliquota.Percentual, 0.15M);
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Adiciona um novo contribuinte
        /// </summary>
        /// <param name="contribuinte">Recebe os dados do novo contribuinte</param>
        public void Adicinar(Contribuinte contribuinte)
        {
            ValidarRepeticao(contribuinte);
            ValidarCPF(contribuinte);

            _gerenciador.ContribuinteRepositorio.Adicionar(contribuinte);
            _gerenciador.Commit();
        }
Ejemplo n.º 23
0
        public void Quando_Chamar_Obter_Com_Id_Maior_Que_0_Retornar_True()
        {
            var contribuinte = new Contribuinte("09269205614", "Paulo", 0, 100);

            _mockDependency.Setup(x => x.Get(It.IsAny <int>())).Returns(contribuinte);
            var service = new ApplicationServiceContribuinte(_mockDependency.Object);

            Assert.True(service.Obter(1).Result);
        }
Ejemplo n.º 24
0
        static ContribuinteDAOMemory()
        {
            dados = new Dictionary <string, Contribuinte>();

            dados["1"] = new Contribuinte("Huginho", "1", 55, 3, 1000, 23000);
            dados["2"] = new Contribuinte("Zezinho", "2", 47, 2, 2000, 42000);
            dados["3"] = new Contribuinte("Luizinhio", "3", 50, 0, 3000, 19000);
            dados["4"] = new Contribuinte("Donald", "4", 67, 3, 7000, 30000);
        }
Ejemplo n.º 25
0
 private void ValidarRepeticao(Contribuinte contribuinte)
 {
     using (var contexto = new CalculoImpostoContext())
     {
         if (contexto.Contribuintes.Where(p => p.CPF == contribuinte.CPF).FirstOrDefault() != null)
         {
             throw new Exception("Contribuinte já cadastrado");
         }
     }
 }
Ejemplo n.º 26
0
    public Contribuinte CadastrarContribuinte(Contribuinte c)
    {
        using (var db = new IrpfContext())
        {
            db.Contribuintes.Add(c);
            db.SaveChanges();

            return(c);
        }
    }
Ejemplo n.º 27
0
        public void Calc_irpf_dependentes_menor_zero()
        {
            var contribuinteSalario = new Contribuinte()
            {
                Salario = 2000, Dependentes = -1
            };
            var contribuinteMock = Calculo.CalcIRPF(contribuinteSalario);

            Assert.IsNotNull(contribuinteMock, "Dependente menor que zero");
        }
Ejemplo n.º 28
0
        public void Calc_irpf_1_salario_abaixo()
        {
            var contribuinteSalario = new Contribuinte()
            {
                Salario = 1500, Dependentes = 1
            };
            var contribuinteMock = Calculo.CalcIRPF(contribuinteSalario);

            Assert.AreEqual(contribuinteMock.ValorIR, Math.Round(40.91, 2), "Salário abaixo da faixa");
        }
Ejemplo n.º 29
0
        public async Task <IActionResult> Create(Contribuinte contribuinte)
        {
            if (ModelState.IsValid)
            {
                await _contribuinteService.InsereContribuinteAsync(contribuinte);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(contribuinte));
        }
Ejemplo n.º 30
0
        public void Calc_irpf_4_salario_acima()
        {
            var contribuinteSalario = new Contribuinte()
            {
                Salario = 15000, Dependentes = 1
            };
            var contribuinteMock = Calculo.CalcIRPF(contribuinteSalario);

            Assert.AreEqual(contribuinteMock.ValorIR, Math.Round(1651.86, 2), "Salário acima da faixa");
        }