Ejemplo n.º 1
0
        public override void AdicionarDeAcordoCom(int mesesAContabilizarOBeneficio, double valorDaParcela, int mesAdmissao)
        {
            for (var i = 0; i < mesesAContabilizarOBeneficio; i++)
            {

                var parcela = new Parcela
                {
                    Mes = i + 1,
                    Valor = valorDaParcela
                };

                if (i + 1 >= mesAumentoConvencao)
                {
                    var salarioAumentoConvencao = CalcularAumentoConvencao(salario, aumentoConvencao);
                    parcela.Valor = Orcamento.Tickets.Where(x => this.Conta.TiposTickets.Any(t => t.Ticket == x.Ticket)).Sum(ticketDeOrcamentoPessoal => (ticketDeOrcamentoPessoal.Valor / 100) * salarioAumentoConvencao);

                }

                if (i+ 1 < mesAdmissao && Funcionario.AnoAdmissao == 2016)
                    parcela.Valor = 0;

                VerificarMesFerias(parcela);

                Adicionar(parcela);
            }
        }
Ejemplo n.º 2
0
        public virtual void Adicionar(Parcela parcela)
        {
            Contract.Requires(parcela != null, "A parcela não foi informada");

            if (Parcelas == null)
                Parcelas = new List<Parcela>();

            Parcelas.Add(parcela);
        }
Ejemplo n.º 3
0
        public void calcular_ferias_de_um_ano_deve_ter_10_reais_de_parcela()
        {
            Conta conta = new Conta("Test", new TipoConta { Id = 1 });

            var ferias = new Ferias(conta, new NovoOrcamentoPessoal(new Setor("nome"), new CentroDeCusto("novo"), 2014));

            ferias.Calcular(100, 1, 0, 0);

            var parcela = new Parcela { Mes = 1, Valor = 11.110833333333334d };

            CollectionAssert.Contains(ferias.Parcelas, parcela);
        }
Ejemplo n.º 4
0
        public void valor_da_parcela_de_recisao_calculada_com_sucesso()
        {
            var orcamento = new NovoOrcamentoPessoal(new Setor("Nome"),new CentroDeCusto("nome"),2014);
            Conta conta = new Conta("TestMethod", new TipoConta { Id = 1 });
            orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Descricao = "Indenização", Valor = 1 });

            Recisao recisao = new Recisao(2, conta, orcamento);

            recisao.Calcular(2, 1, 0, 0);

            Parcela parcela = new Parcela
                                  {
                                      Mes = 2,
                                      Valor = 0.02d
                                  };

              //  CollectionAssert.Contains(recisao.Parcelas, parcela);
        }
Ejemplo n.º 5
0
        public void teste_calcular_parcela_de_fgts_com_sucesso()
        {
            var orcamento =  new NovoOrcamentoPessoal(new Setor("Nome"), new CentroDeCusto("novo"), 2014);
            var conta = new Conta("Test", new TipoConta { Id = 1 });
            conta.Adicionar(TipoTicketDePessoal.FGTS);

            orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "Teste", Valor = 0 });
            orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "FGTS", Valor = 8 });

            var fgts = new FGTS(conta, orcamento);

            fgts.Funcionario = new Funcionario(new Hospital("nome")) { AnoAdmissao = 2014, DataAdmissao = 1 };
            fgts.Calcular(2, 1, 0, 0);

            Parcela parcela = new Parcela { Mes = 1, Valor = 0.19111066666666665d};

            Assert.AreEqual(fgts.Parcelas.FirstOrDefault().Valor, parcela.Valor);
        }
Ejemplo n.º 6
0
        public void teste_calcular_parcela_de_salario_com_sucesso()
        {
            NovoOrcamentoPessoal orcamento = new NovoOrcamentoPessoal(new Setor("Nome"), new CentroDeCusto("nome"), 2014);
            Conta conta = new Conta("Test", new TipoConta { Id = 1 });

            var salario = new Salario(conta, orcamento);

            salario.Funcionario = new Funcionario(new Hospital("nome")) { AnoAdmissao = 2014, DataAdmissao = 1 };
            salario.Calcular(0.03, 1, 0, 0);

            Parcela parcela = new Parcela
                                  {
                                      Mes = 1,
                                      Valor = 0.03d
                                  };

            CollectionAssert.Contains(salario.Parcelas, parcela);
        }
Ejemplo n.º 7
0
        public virtual void AdicionarDeAcordoCom(int mesesAContabilizarOBeneficio, double valorDaParcela, int mesAdmissao)
        {
            Contract.Requires(mesesAContabilizarOBeneficio > default(int), "Total de meses a receber o benefício não foi informado");

            for (var i = 0; i < mesesAContabilizarOBeneficio; i++)
            {

                var parcela = new Parcela
                {
                    Mes = i + 1,
                    Valor = valorDaParcela
                };

                if (i + 1 < mesAdmissao && Funcionario.AnoAdmissao == 2014)
                    parcela.Valor = 0;

                Adicionar(parcela);
            }
        }
Ejemplo n.º 8
0
        private void CalcularDespesas(double salario, int MesAdmissao, bool aumentado, double salarioAumentado, int mesAumento, int mesesAcontabilizar)
        {
            for (var i = 0; i < mesesAcontabilizar; i++)
            {
                double total = 0;
                if (aumentado && mesAumento <= i + 1)
                {
                    total = Orcamento.Tickets.Where(x => this.Conta.TiposTickets.Any(t => t.Ticket == x.Ticket)).Sum(ticketDeOrcamentoPessoal => (ticketDeOrcamentoPessoal.Valor / 100) * salarioAumentado);
                    if (i + 1 >= mesAumentoConvencao)
                    {
                        total = Orcamento.Tickets.Where(x => this.Conta.TiposTickets.Any(t => t.Ticket == x.Ticket)).Sum(ticketDeOrcamentoPessoal => (ticketDeOrcamentoPessoal.Valor / 100) * CalcularAumentoConvencao(salarioAumentado, aumentoConvencao));
                    }
                }
                else
                {
                    total = Orcamento.Tickets.Where(x => this.Conta.TiposTickets.Any(t => t.Ticket == x.Ticket)).Sum(ticketDeOrcamentoPessoal => (ticketDeOrcamentoPessoal.Valor / 100) * salario);
                    if (i + 1 >= mesAumentoConvencao)
                    {
                        total = Orcamento.Tickets.Where(x => this.Conta.TiposTickets.Any(t => t.Ticket == x.Ticket)).Sum(ticketDeOrcamentoPessoal => (ticketDeOrcamentoPessoal.Valor / 100) * CalcularAumentoConvencao(salario, aumentoConvencao));
                    }
                }

                var parcela = new Parcela
                {
                    Mes = i + 1,
                    Valor = total
                };

                if (i + 1 < MesAdmissao && Funcionario.AnoAdmissao == 2016)
                    parcela.Valor = 0;

                VerificarMesFerias(parcela);

                Adicionar(parcela);
            }
        }
Ejemplo n.º 9
0
 public virtual void VerificarMesFerias(Parcela parcela)
 {
     if (Funcionario.AnoAdmissao < 2014 && parcela.Mes == Funcionario.DataAdmissao)
         parcela.Valor = 0;
 }