示例#1
0
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            try
            {
                if (!ValidaCampos())
                {
                    return;
                }

                Conta ContaDestino = DaoConta.CarregaUnicaConta(Convert.ToInt32(cboContaDestino.SelectedValue));

                var valor = Convert.ToDecimal(txtValor.Text);

                if (ContaOrigem.Id == ContaDestino.Id)
                {
                    throw new Exception("Selecione como destino uma Conta diferente da Conta de origem");
                }
                if (ContaOrigem.Saldo < valor)
                {
                    throw new Exception("O valor a ser debitado da conta origem excede o saldo disponível");
                }
                if (MessageBox.Show("Deseja realmente efetuar a transferência?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    ContaOrigem.Saque(valor);
                    ContaDestino.Deposito(valor);

                    DaoConta.AtualizaConta(ContaOrigem);
                    DaoConta.AtualizaConta(ContaDestino);
                    MessageBox.Show("Transferência realizada com sucesso!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#2
0
 public frmDeposito(int Id)
 {
     InitializeComponent();
     DaoConta = new DaoConta();
     Conta    = DaoConta.CarregaUnicaConta(Id);
 }
示例#3
0
 public frmTransferencia(int Id)
 {
     InitializeComponent();
     DaoConta    = new DaoConta();
     ContaOrigem = DaoConta.CarregaUnicaConta(Id);
 }