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(); } }
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); } }