Esempio n. 1
0
        public void DeveRetornarExceptionQuandoValorForInvalido(decimal valorInvalido)
        {
            var exception = Record.Exception(() => Renda.CriarNovo(valorInvalido));

            Assert.NotNull(exception);
            Assert.IsType <RendaNaoDevePossuirValorNegativoException>(exception);
        }
        public void Configure(EntityTypeBuilder <Pessoa> builder)
        {
            builder.ToTable("Pessoas");

            builder.Property(p => p.Id)
            .HasConversion(
                v => v.ToGuid(),
                v => new PessoaId(v))
            .IsRequired();

            builder.Property(p => p.Nome)
            .HasConversion(
                v => v.ToString(),
                v => Nome.CriarNovo(v))
            .IsRequired();

            builder.Property(p => p.Idade)
            .HasColumnName("DataDeNascimento")
            .HasConversion(
                v => v.DataDeNascimento,
                v => Idade.CriarNovo(v))
            .IsRequired();

            builder.Property(p => p.Renda)
            .HasConversion(
                v => v.Valor.ToDecimal(),
                v => Renda.CriarNovo(v))
            .IsRequired(false);

            builder.Property(p => p.Tipo);

            builder.HasOne(p => p.Familia)
            .WithMany(p => p.Pessoas)
            .HasForeignKey(p => p.FamiliaId);
        }
Esempio n. 3
0
        public Pessoa CriarPessoa(Nome nome, Idade idade, Tipo tipo, Renda renda = null)
        {
            var pessoa = new Pessoa(this.Id, nome, idade, tipo, renda);

            this.Pessoas.Add(pessoa);
            return(pessoa);
        }
Esempio n. 4
0
        private Familia CriarCenarioComDependentesMenoresDeIdade()
        {
            var familiaComDoisDependentesMenoresDeIdade = FamiliaFactory.Criar(
                Status);

            FamiliaFactory.CriarPessoa(
                familiaComDoisDependentesMenoresDeIdade,
                Nome.CriarNovo("Pretendente"),
                Idade.CriarNovo(new DateTime(1997, 10, 25)),
                Tipo.Pretendente,
                Renda.CriarNovo(1000));

            FamiliaFactory.CriarPessoa(
                familiaComDoisDependentesMenoresDeIdade,
                Nome.CriarNovo("Conjugue"),
                Idade.CriarNovo(new DateTime(1997, 01, 01)),
                Tipo.Conjuge,
                Renda.CriarNovo(500));

            FamiliaFactory.CriarPessoa(
                familiaComDoisDependentesMenoresDeIdade,
                Nome.CriarNovo("Dependente 1"),
                Idade.CriarNovo(new DateTime(2010, 01, 01)),
                Tipo.Dependente);

            FamiliaFactory.CriarPessoa(
                familiaComDoisDependentesMenoresDeIdade,
                Nome.CriarNovo("Dependente 2"),
                Idade.CriarNovo(new DateTime(2010, 01, 01)),
                Tipo.Dependente);

            return(familiaComDoisDependentesMenoresDeIdade);
        }
Esempio n. 5
0
        public async Task <Resultado> Cadastrar(FamiliaDto familiaDto)
        {
            var status = await _familiaRepository.ObterStatus(familiaDto.StatusId);

            var familia = _familiaFactory.Criar(status);

            foreach (var pessoa in familiaDto.Pessoas)
            {
                familia.CriarPessoa(
                    Nome.CriarNovo(pessoa.Nome),
                    Idade.CriarNovo(pessoa.DataDeNascimento),
                    pessoa.Tipo,
                    pessoa.Renda.HasValue ? Renda.CriarNovo(pessoa.Renda.Value) : null);
            }
            if (!familia.Validar())
            {
                return(Resultado.Erro("Familia deve possuir apenas um pretendente e apenas um cônjuge."));
            }

            await _familiaRepository.Adicionar(familia);

            if (familia.Status.CadastroValido)
            {
                await _calculoDePontosDosCriteriosAtendidos.Executar(familia);
            }

            return(Resultado.OK());
        }
        public ActionResult Adiciona(Renda renda)
        {
            RendaDao dao = new RendaDao();

            dao.Adiciona(renda);

            return(RedirectToAction("index", "Renda"));
        }
 private bool ValidarRenda(Renda renda)
 {
     if (renda == default)
     {
         return(false);
     }
     return(true);
 }
                public static void atualizar(int ano, int mes, double valor, int userId)
                {
                    SGFEntities db    = new SGFEntities();
                    Renda       renda = db.Renda.SingleOrDefault(x => x.ano == ano && x.mes == mes && x.usuario_id == userId);

                    renda.valor = valor;
                    db.SaveChanges();
                }
Esempio n. 9
0
 public Pessoa(string nome, ETipoVinculoFamiliar tipoVinculoFamiliar, DateTime dataNascimento, decimal renda, Guid familiaId)
 {
     Nome = nome;
     TipoVinculoFamiliar = tipoVinculoFamiliar;
     DataNascimento      = dataNascimento;
     Renda     = new Renda(renda);
     FamiliaId = familiaId;
 }
Esempio n. 10
0
        public void AdicionarRenda(Renda renda)
        {
            if (renda == null || (renda != null && Rendas.Any(p => p.Id == renda.Id)))
            {
                return;
            }

            Rendas.Add(renda);
        }
Esempio n. 11
0
 public FamiliaTests()
 {
     _status  = new Status(new StatusId(1), new Descricao("Já possui uma casa"), false);
     _familia = new Familia(_status);
     _nome    = new NomeCompleto("Wellington");
     _idade   = new Idade(DateTime.Now.AddYears(-28));
     _renda   = new Renda(0);
     _familia.AdicionarPessoa(_nome, ETipoType.Dependente, _idade, _renda);
 }
Esempio n. 12
0
        public void Deve_mapear_a_renda()
        {
            const decimal valorDaRenda  = 900;
            var           rendaEsperada = new Renda(valorDaRenda);

            var rendaObtida = MapeadorDeRenda.Mapear(valorDaRenda);

            rendaEsperada.ToExpectedObject().ShouldMatch(rendaObtida);
        }
Esempio n. 13
0
        public void AdicionarPessoa(NomeCompleto nome, ETipoType tipo, Idade idade, Renda renda)
        {
            var pessoa = new Pessoa(Id, nome, tipo, idade, renda);

            if (pessoa.Invalid)
            {
                AddNotifications(pessoa);
            }
            _pessoas.Add(pessoa);
        }
Esempio n. 14
0
        public Pessoa(EntityId familiaId, NomeCompleto nome, ETipoType tipo, Idade idade, Renda renda)
        {
            FamiliaId = familiaId;
            Id        = new EntityId(Guid.NewGuid());
            Nome      = nome;
            Tipo      = tipo;
            Idade     = idade;
            Renda     = renda;

            AddNotifications(nome, idade, renda);
        }
                public static void ano(int ano, int userId)
                {
                    List <Renda> rendas = new List <Renda>();

                    for (int i = 1; i <= 12; i++)
                    {
                        Renda renda = new Renda();
                        renda.ano        = ano;
                        renda.mes        = i;
                        renda.valor      = 0;
                        renda.usuario_id = userId;

                        rendas.Add(renda);
                    }
                    SGFEntities db = new SGFEntities();

                    db.Renda.AddRange(rendas);
                    db.SaveChanges();
                }
Esempio n. 16
0
        /// <summary>   Adiciona os dados de randa a tabela renda no banco de dados </summary>
        ///
        /// <remarks>   Lucas Sandim, 14/12/2020. </remarks>
        ///
        /// <param name="renda">  Objeto Renda a ser adicionado </param>
        ///
        /// <returns>  Inteiro contendo o resultado da execução da query </returns>
        #endregion
        public int adicionarRenda(Renda renda)
        {
            try
            {
                var conexao = Db.conexao();
                using (var cmd = conexao.CreateCommand())
                {
                    cmd.CommandText = @"INSERT INTO renda(id_pessoa, valor) VALUES (@id_pessoa, @valor)";
                    cmd.Parameters.AddWithValue("@id_pessoa", renda.PessoaId);
                    cmd.Parameters.AddWithValue("@valor", renda.Valor);

                    return(Db.executarQuery(conexao, cmd));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(-1);
            }
        }
        public ActionResult PlanilhaDeGastosMensal(Gasto gasto)
        {
            if (Session["User"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            List <TipoGasto>           categorias = LAD.TipoGastoLAD.Pesquisar.userId((int)Session["User"]);
            PlanilhaDeGastosMensalView pgmv       = new PlanilhaDeGastosMensalView();

            pgmv.categorias = categorias;

            Renda renda = LAD.RendaLAD.Pesquisar.renda((int)Session["user"], (int)Session["Mes"], (int)Session["Ano"]);

            pgmv.renda = renda;
            try
            {
                pgmv.catId = (int)gasto.tipoGasto_id;
            }
            catch { }

            return(View(pgmv));
        }
Esempio n. 18
0
        public Model.Familia gerarFamiliaTeste()
        {
            List <Pessoa> pessoas = new List <Pessoa>();
            Pessoa        p1      = new Pessoa("111111", "Milton Romero", "Pretendente", "1998-05-30");
            Pessoa        p2      = new Pessoa("222222", "Milton teste1", "Cônjuge", "1996-12-30");
            Pessoa        p3      = new Pessoa("333333", "Milton teste2", "Dependente", "2010-02-28");
            Pessoa        p4      = new Pessoa("444444", "Milton teste3", "Dependente", "1990-01-30");

            pessoas.Add(p1);
            pessoas.Add(p2);
            pessoas.Add(p3);
            pessoas.Add(p4);

            List <Renda> rendas = new List <Renda>();
            Renda        r1     = new Renda("111111", 500);
            Renda        r2     = new Renda("222222", 450);
            Renda        r3     = new Renda("333333", 150);

            rendas.Add(r1);
            rendas.Add(r2);
            rendas.Add(r3);

            return(new Model.Familia("000000", pessoas, rendas, "2", 0));
        }
Esempio n. 19
0
 public PessoaBuilder ComRenda(Renda renda)
 {
     _renda = renda;
     return(this);
 }
Esempio n. 20
0
 public PessoaTests()
 {
     _idFamilia = new EntityId(Guid.NewGuid());
     _nome      = new NomeCompleto("Wellington");
     _renda     = new Renda(0);
 }
 public RendaTotalFamiliaAte900(Renda renda)
     : base(renda, renda => renda.Valor <= 900)
 {
 }
 public RendaTotalFamiliaEntre901E1500(Renda renda)
     : base(renda, renda => renda.Valor >= 901 && renda.Valor <= 1500)
 {
 }
Esempio n. 23
0
 public void AdicionarPessoa(Familia familia, NomeCompleto nome, Idade idade, ETipoType tipo, Renda renda)
 {
     familia.AdicionarPessoa(nome, tipo, idade, renda);
 }
 protected CriterioRendaFamiliar(Renda renda, Func <Renda, bool> condicao)
 {
     Renda    = renda;
     Condicao = condicao;
 }
Esempio n. 25
0
        public void DeveRetornarErrorQuandoRendaForMenorQueZero()
        {
            var renda = new Renda(-50);

            Assert.IsTrue(renda.Invalid);
        }
Esempio n. 26
0
        public void DeveRetornarSucessoQuandoRendaForMaiorOuIgualAZero()
        {
            var renda = new Renda(10);

            Assert.IsTrue(renda.Valid);
        }
Esempio n. 27
0
 public RendaTotalFamiliaEntre1501E2000(Renda renda)
     : base(renda, renda => renda.Valor > 1500 && renda.Valor <= 2000)
 {
 }
Esempio n. 28
0
 public Pessoa CriarPessoa(Familia familia, Nome nome, Idade idade, Tipo tipo, Renda renda = null)
 {
     return(familia.CriarPessoa(nome, idade, tipo, renda));
 }