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(); } }
public void Alterar(Parcela parcela) { parcela.data_pagamento = DateTime.Now; parcela.statusparcela_id = 1; LancamentoProcesso processoLancamento = LancamentoProcesso.Instance; if (parcela.valor_pago.Value > parcela.valor) { float valorRestante = parcela.valor_pago.Value - parcela.valor; parcela.valor_pago = parcela.valor; this.parcelaRepositorio.Alterar(parcela); Lancamento lancamento = new Lancamento(); lancamento.valor = parcela.valor_pago.Value; lancamento.lancamentotipo_id = 1; lancamento.data = parcela.data_pagamento.Value; lancamento.fonte = "parcela"; lancamento.timeCreated = DateTime.Now; lancamento.usuario_id = ClasseAuxiliar.UsuarioLogado.ID; processoLancamento.Incluir(lancamento); processoLancamento.Confirmar(); this.PagarProximaParcela(parcela, valorRestante); } else if (parcela.valor_pago.Value < parcela.valor) { this.parcelaRepositorio.Alterar(parcela); Lancamento lancamento = new Lancamento(); lancamento.valor = parcela.valor_pago.Value; lancamento.lancamentotipo_id = 1; lancamento.data = parcela.data_pagamento.Value; lancamento.fonte = "parcela"; lancamento.timeCreated = DateTime.Now; lancamento.usuario_id = ClasseAuxiliar.UsuarioLogado.ID; processoLancamento.Incluir(lancamento); processoLancamento.Confirmar(); this.AdicionarParcelaExtra(parcela); } else { this.parcelaRepositorio.Alterar(parcela); Lancamento lancamento = new Lancamento(); lancamento.valor = parcela.valor_pago.Value; lancamento.lancamentotipo_id = 1; lancamento.data = parcela.data_pagamento.Value; lancamento.fonte = "parcela"; lancamento.timeCreated = DateTime.Now; lancamento.usuario_id = ClasseAuxiliar.UsuarioLogado.ID; processoLancamento.Incluir(lancamento); processoLancamento.Confirmar(); } }
public void CancelarParcela(Parcela parcela) { LancamentoProcesso processoLancamento = LancamentoProcesso.Instance; Lancamento lancamento = new Lancamento(); lancamento.valor = parcela.valor_pago.Value; lancamento.lancamentotipo_id = 9; lancamento.data = ClasseAuxiliar.DataSelecionada; lancamento.fonte = "parcela"; lancamento.timeCreated = DateTime.Now; lancamento.usuario_id = ClasseAuxiliar.UsuarioLogado.ID; parcela.data_pagamento = null; parcela.valor_pago = null; parcela.statusparcela_id = 2; processoLancamento.Incluir(lancamento); processoLancamento.Confirmar(); }