public void Incluir(Emprestimo emprestimo, List <DayOfWeek> diasUteis)
        {
            this.emprestimoRepositorio.Incluir(emprestimo);
            this.Confirmar();
            IParcelaProcesso        parcelaProcesso        = ParcelaProcesso.Instance;
            IPrazoPagamentoProcesso prazoPagamentoProcesso = PrazoPagamentoProcesso.Instance;

            PrazoPagamento prazo = new PrazoPagamento();

            prazo.ID = emprestimo.prazospagamento_id;

            prazo = prazoPagamentoProcesso.Consultar(prazo, TipoPesquisa.E)[0];
            LancamentoProcesso processoLancamento = LancamentoProcesso.Instance;

            Lancamento lancamento = new Lancamento();

            lancamento.valor             = emprestimo.valor;
            lancamento.lancamentotipo_id = 3;
            lancamento.data        = emprestimo.data_emprestimo;
            lancamento.fonte       = "Emprestimo";
            lancamento.timeCreated = DateTime.Now;
            lancamento.usuario_id  = ClasseAuxiliar.UsuarioLogado.ID;
            processoLancamento.Incluir(lancamento);
            processoLancamento.Confirmar();


            Parcela parcela;
            float   valorJuros = emprestimo.valor + (emprestimo.valor * emprestimo.juros / 100);
            float   valor      = valorJuros / emprestimo.qtde_parcelas;

            //if (valor % 2 == 1)
            //{

            //}

            DateTime dataAtual      = DateTime.Now;
            DateTime dataVencimento = DateTime.Now;

            for (int i = 1; i <= emprestimo.qtde_parcelas; i++)
            {
                parcela = new Parcela();
                parcela.emprestimo_id  = emprestimo.ID;
                parcela.data_pagamento = null;
                parcela.sequencial     = i;
                dataVencimento         = dataVencimento.AddDays(prazo.qtde_dias);

                //if (dataVencimento.DayOfWeek == System.DayOfWeek.Monday)
                //    dataVencimento = dataVencimento.AddDays(1);
                dataVencimento = VerificarProximaData(dataVencimento, diasUteis);

                parcela.data_vencimento  = dataVencimento;
                parcela.valor            = valor;
                parcela.statusparcela_id = 2;
                parcelaProcesso.Incluir(parcela);
                parcelaProcesso.Confirmar();
            }
        }
Пример #2
0
        private void AdicionarParcelaExtra(Parcela parcela)
        {
            Parcela p = new Parcela();

            p.emprestimo_id = parcela.emprestimo_id;
            List <Parcela>      resultado = this.Consultar(p, TipoPesquisa.E);
            IEmprestimoProcesso processo  = EmprestimoProcesso.Instance;

            Emprestimo emp = new Emprestimo();

            emp.ID = p.emprestimo_id;

            emp = processo.Consultar(emp, TipoPesquisa.E)[0];

            IPrazoPagamentoProcesso prazoPagamentoProcesso = PrazoPagamentoProcesso.Instance;

            PrazoPagamento prazo = new PrazoPagamento();

            prazo.ID = emp.prazospagamento_id;

            prazo = prazoPagamentoProcesso.Consultar(prazo, TipoPesquisa.E)[0];

            p = resultado[resultado.Count - 1];

            if (p != null)
            {
                Parcela par = new Parcela();
                par.emprestimo_id    = emp.ID;
                par.valor            = parcela.valor - parcela.valor_pago.Value;
                par.data_vencimento  = p.data_vencimento.AddDays(prazo.qtde_dias);
                par.statusparcela_id = 2;
                par.sequencial       = parcela.sequencial;
                par.data_vencimento  = parcela.data_vencimento;
                //if (par.data_vencimento.DayOfWeek == DayOfWeek.Saturday)
                //    par.data_vencimento = par.data_vencimento.AddDays(2);
                //else if (par.data_vencimento.DayOfWeek == DayOfWeek.Monday)
                //    par.data_vencimento = par.data_vencimento.AddDays(1);



                par.timeCreated = DateTime.Now;
                this.parcelaRepositorio.Incluir(par);
            }
        }