Toda hora que rodo o programa a parte do this.quantidadeDeContas++ apresenta erro e não sei o que mudar.
public partial class Form1 : Form
{
private Conta[] contas;
int quantidadeDeContas;
public void AdicionaContas(Conta conta)
{
this.contas[this.quantidadeDeContas] = conta;
this.quantidadeDeContas++;
comboContas.Items.Add(conta);
comboDestino.Items.Add(conta);
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Conta contaDoVictor = new ContaCorrente();
contaDoVictor.Titular = new Cliente();
contaDoVictor.Titular.Nome = "Victor Harada";
contaDoVictor.Numero = 1;
contaDoVictor.Deposita(250);
this.AdicionaContas(contaDoVictor);
Conta contaDoMario = new ContaCorrente();
contaDoMario.Titular = new Cliente();
contaDoMario.Titular.Nome = "Mario Bros";
contaDoMario.Numero = 2;
contaDoMario.Deposita(100);
this.AdicionaContas(contaDoMario);
Conta contaDoMauricio = new ContaCorrente();
contaDoMauricio.Titular = new Cliente();
contaDoMauricio.Titular.Nome = "Mauricio Ruas";
contaDoMauricio.Numero = 3;
contaDoMauricio.Deposita(600);
this.AdicionaContas(contaDoMauricio);
this.contas = new Conta[50];
/*this.contas[0] = contaDoVictor;
this.contas[1] = contaDoMario;
this.contas[2] = contaDoMauricio;*/
foreach (Conta c in contas)
{
if (contas != null)
{
comboContas.Items.Add(c.Titular.Nome);
}
}
foreach (Conta c in contas)
{
if (contas != null)
{
comboDestino.Items.Add(c.Titular.Nome);
}
}
}
private void comboContas_SelectedIndexChanged(object sender, EventArgs e)
{
int indiceSelecionado = comboContas.SelectedIndex;
Conta contaSelecionada = this.contas[indiceSelecionado];
this.MostraConta();
}
private void textoTitular_TextChanged(object sender, EventArgs e)
{
}
private Conta BuscaContaSelecionada()
{
int indiceSelecionado = comboContas.SelectedIndex;
return this.contas[indiceSelecionado];
}
private void button1_Click(object sender, EventArgs e)
{
string textoDoValorDoDeposito = textoValor.Text;
double valorDoDeposito = Convert.ToDouble(textoDoValorDoDeposito);
Conta contaSelecionada = this.BuscaContaSelecionada();
try
{
contaSelecionada.Deposita(valorDoDeposito);
MessageBox.Show("Depósito realizado com sucesso");
}
catch (DepositoNegativo)
{
MessageBox.Show("Não é possivel depositar valor negativo");
}
this.MostraConta();
}
private void button2_Click(object sender, EventArgs e)
{
string textoDoValorDoSaque = textoValor.Text;
double valorDoSaque = Convert.ToDouble(textoDoValorDoSaque);
Conta contaSelecionada = this.BuscaContaSelecionada();
try
{
contaSelecionada.Saca(valorDoSaque);
MessageBox.Show("Saque realizado com sucesso.");
}
catch (SaldoInsuficienteException)
{
MessageBox.Show("Saldo Insuficiente.");
}
catch (ArgumentException)
{
MessageBox.Show("Não é possível sacar valor negativo.");
}
MostraConta();
}
public void MostraConta()
{
Conta mostraContaSelecionada = this.BuscaContaSelecionada();
textoTitular.Text = Convert.ToString(mostraContaSelecionada.Titular.Nome);
textoNumero.Text = Convert.ToString(mostraContaSelecionada.Numero);
textoSaldo.Text = Convert.ToString(mostraContaSelecionada.Saldo);
textoValor.Text = Convert.ToString(mostraContaSelecionada.valorPadraoSaldo);
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int indiceDestino = comboDestino.SelectedIndex;
Conta contaDestino = this.contas[indiceDestino];
}
private Conta BuscaContaDestino()
{
int indiceSelecionado = comboDestino.SelectedIndex;
return this.contas[indiceSelecionado];
}
private void button3_Click(object sender, EventArgs e)
{
string textoDaTransferencia = textoValor.Text;
double valorDaTransferencia = Convert.ToDouble(textoDaTransferencia);
Conta contaDestino = this.BuscaContaDestino();
Conta contaTransfere = this.BuscaContaSelecionada();
contaTransfere.transfere(valorDaTransferencia, contaDestino);
MessageBox.Show("Transferencia realizada com sucesso");
this.MostraConta();
}
private void textoValor_TextChanged(object sender, EventArgs e)
{
}
private void button3_Click_1(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
CadastroDeConta formularioCadastro = new CadastroDeConta(this);
formularioCadastro.ShowDialog();
}
}
}