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!";
            }
        }
예제 #2
0
        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!";
            }
        }
예제 #3
0
        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);
            }
        }