Example #1
0
        protected void btnTransferir_Click(object sender, EventArgs e)
        {
            try
            {
                ContaCorrente conta = new ContaDAO().PesquisarContaPorNumero(int.Parse(txtConta.Text)) as ContaCorrente;

                float valor = float.Parse(txtValor.Text, CultureInfo.InvariantCulture.NumberFormat);
                if (conta != null)
                {
                    if (conta.Numero.Equals(cc.Numero))
                    {
                        lblResultado.Text = "Falha ao realizar transferência. Não é possível realizar transferências para a própria conta.";
                        AtualizaLabels();
                    }
                    else if (valor > 0 && cc.Saldo >= valor)
                    {
                        List <Conta> contas = new ContaDAO().Transferir(cc, conta, valor, "Transferência entre contas");
                        if (contas != null)
                        {
                            Session["contaCorrente"] = contas.First();
                            lblResultado.Text        = "Transferência realizada com sucesso!";
                            divTransf.Visible        = false;
                            divComprovante.Visible   = true;
                            //Atualizar os dados para comprovante
                            lblContaOrigem.Text  = cc.Numero.ToString();
                            lblNomeOrigem.Text   = cc.Pessoa.Nome;
                            lblContaDestino.Text = conta.Numero.ToString();
                            lblNomeDestino.Text  = conta.Pessoa.Nome;
                            lblValor.Text        = valor.ToString("c2");
                        }
                        else
                        {
                            lblResultado.Text = "Falha ao realizar transferência...";
                        }
                    }
                    else
                    {
                        lblResultado.Text = "Falha ao realizar transferência...";
                    }
                }
                else
                {
                    lblResultado.Text = "Conta de destino não encontrada!";
                }

                AtualizaLabels();
            }
            catch
            {
                lblResultado.Text = "Entrada inválida!";
            }
        }