protected void btnSimular_Click(object sender, EventArgs e) { lblAviso.Text = ""; double valorDesejado, valorParcela, valorTotal; int parcelas; Taxa taxa = new TaxaDAO().PesquisarPorTaxa(EmprestimoOPS.VerificarPerfil(cc)); //obtem taxa atraves do perfil da pessoa if (Double.TryParse(txtValor.Text, out valorDesejado) && Int32.TryParse(txtParcelas.Text, out parcelas)) { divSimulacao.Visible = true; valorParcela = EmprestimoOPS.CalcularParcelas(parcelas, taxa, valorDesejado); //calcula valor das parcelas valorTotal = valorParcela * parcelas; lblParcelas.Text = parcelas.ToString(); lblValor.Text = "R$ " + valorParcela.ToString("0.00"); lblValorTotal.Text = "R$" + valorTotal.ToString("0.00"); lblTaxa.Text = taxa.Valor + "%"; } else { lblAviso.Text = "Dados incorretos!"; } }
protected void btnRealizar_Click(object sender, EventArgs e) { float valorDesejado; int parcelas; string tipoPagamento = rblPagamento.SelectedValue; if (!DateTime.TryParse(txtDataPrimeiroVencimento.Text, out data)) { //verifica data lblAviso.Text = "Escolha uma data válida!"; divSimulacao.Visible = false; } else if (float.TryParse(txtValor.Text, NumberStyles.Any, CultureInfo.InvariantCulture.NumberFormat, out valorDesejado) && Int32.TryParse(txtParcelas.Text, out parcelas) && dataMinima <= data && dataMaxima >= data && parcelas > 0) { if (valorDesejado > cc.Limite) { lblAviso.Text = "Valor é superior ao limite disponível em sua conta!"; } else if (valorDesejado > 0) { Taxa taxa = new TaxaDAO().PesquisarPorTaxa(EmprestimoOPS.VerificarPerfil(cc)); //obtem taxa atraves do perfil da pessoa Emprestimo emprestimo = new Emprestimo() { Valor = valorDesejado, Parcelas = parcelas, ContaCorrente = cc, Taxa = taxa, DataInicio = data, }; EmprestimoDAO empDAO = new EmprestimoDAO(); if (empDAO.InserirEmprestimo(emprestimo, tipoPagamento)) { lblResultado.Text = "Empréstimo Realizado com Sucesso!"; divResultado.Visible = true; divRealizarBtn.Visible = false; } } else { divSimulacao.Visible = false; lblAviso.Text = "Valor precisa ser maior que zero!"; } } else { divSimulacao.Visible = false; lblAviso.Text = "Dados incorretos!"; } }
protected void btnSimular_Click(object sender, EventArgs e) { lblAviso.Text = ""; double valorDesejado, valorParcela, valorTotal; int parcelas; if (!DateTime.TryParse(txtDataPrimeiroVencimento.Text, out data)) { //verifica data lblAviso.Text = "Escolha uma data válida!"; divSimulacao.Visible = false; } else if (Double.TryParse(txtValor.Text, NumberStyles.Any, CultureInfo.InvariantCulture.NumberFormat, out valorDesejado) && Int32.TryParse(txtParcelas.Text, out parcelas) && dataMinima <= data && dataMaxima >= data) { if (valorDesejado > cc.Limite) { lblAviso.Text = "Valor é superior ao limite disponível em sua conta!"; } else if (valorDesejado > 0) { divSimulacao.Visible = true; divRealizarBtn.Visible = true; Taxa taxa = new TaxaDAO().PesquisarPorTaxa(EmprestimoOPS.VerificarPerfil(cc)); //obtem taxa atraves do perfil da pessoa valorParcela = EmprestimoOPS.CalcularParcelas(parcelas, taxa, valorDesejado); //calcula valor das parcelas valorTotal = valorParcela * parcelas; lblParcelas.Text = parcelas.ToString(); lblValor.Text = valorParcela.ToString("c2"); lblValorTotal.Text = valorTotal.ToString("c2"); lblTaxa.Text = taxa.Valor.ToString("F") + " % a.m."; } else { divSimulacao.Visible = false; lblAviso.Text = "Valor precisa ser maior que zero!"; } } else { divSimulacao.Visible = false; lblAviso.Text = "Dados incorretos!"; } }
public bool InserirEmprestimo(Emprestimo emp, String tipo) { try { emp.Taxa = new TaxaDAO().PesquisarPorTaxa(EmprestimoOPS.VerificarPerfil(emp.ContaCorrente)); MySqlCommand command = Connection.Instance.CreateCommand(); string sql = ("INSERT INTO Emprestimo(Emprestimo_valor,Emprestimo_parcelas, Taxa_Taxa_id, " + "Conta_Corrente_Conta_Conta_Corrente_id, Emprestimo_Inicio) VALUES (@Emprestimo_valor," + "@Emprestimo_parcelas, @Taxa_Taxa_id, @Conta_Corrente_Conta_Conta_Corrente_id, @Emprestimo_Inicio)"); command.CommandText = sql; command.Parameters.AddWithValue("@Emprestimo_valor", emp.Valor); command.Parameters.AddWithValue("@Emprestimo_parcelas", emp.Parcelas); command.Parameters.AddWithValue("@Taxa_Taxa_id", emp.Taxa.Id); command.Parameters.AddWithValue("@Conta_Corrente_Conta_Conta_Corrente_id", emp.ContaCorrente.Numero); command.Parameters.AddWithValue("@Emprestimo_Inicio", emp.DataInicio); int retorno = command.ExecuteNonQuery(); emp.Id = (int)command.LastInsertedId; // Adicionar cálculo do valor de parcela Valor dummy 5 // Gerar pagamentos if (tipo.Equals("debito")) { for (int i = 0; i < emp.Parcelas; i++) { new PagamentoDAO().Inserir(new PagamentoConta() { Valor = EmprestimoOPS.CalcularParcelas(emp.Parcelas, emp.Taxa, emp.Valor), Emprestimo = emp, Data = emp.DataInicio.AddMonths(i) }); } } else if (tipo.Equals("boleto")) { for (int i = 0; i < emp.Parcelas; i++) { new PagamentoDAO().Inserir(new PagamentoBoleto() { Codigo = Math.Abs(emp.DataInicio.AddMonths(i).GetHashCode() + DateTime.Now.GetHashCode()), Data = emp.DataInicio.AddMonths(i), Valor = EmprestimoOPS.CalcularParcelas(emp.Parcelas, emp.Taxa, emp.Valor), Vencimento = emp.DataInicio.AddMonths(i), Emprestimo = emp }); } } // Fim da gerar pagamentos //sensibliza contabil new ContaDAO().Transferir(new ContaDAO().PesquisarContaPorNumero(2), emp.ContaCorrente, emp.Valor, "Realização de empréstimo"); //atualiza limite da conta corrente new ContaCorrenteDAO().AtualizarLimite(emp.ContaCorrente.Numero, -emp.Valor); if (retorno > 0) { return(true); } else { return(false); } } catch (Exception e) { Console.WriteLine(e); return(false); } }