Olá a todos. Neste exercício para gerar o formulário de controle de contas, deposito e saque, o professor gera um método "BuscaContaSelecionada", que basicamente pega o index do combobox e retorna a conta selecionada.
Eu acabei executando o código diferente. Ao invés de gerar um método. Gerei um atributo chamado 'contaSelecionada' que era preenchida logo no select do combobox.
Minha dúvida é, o meu código está com uma lógica boa de programação? O jeito que fiz é um jeito aceitável? ou criar o método é a melhor escolha?
public partial class Form1 : Form
{
Conta[] contas;
Conta contaSelecionada;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
contas = new Conta[2];
Cliente titularVictor = new Cliente();
Conta contaVictor = new Conta();
contaVictor.Numero = 1;
contaVictor.Titular = titularVictor;
contaVictor.Titular.nome = "Victor";
contaVictor.Deposita(250.0);
contas[0] = contaVictor;
Cliente titularMario = new Cliente();
Conta contaMario = new Conta();
contaMario.Numero = 2;
contaMario.Titular = titularMario;
contaMario.Titular.nome = "Mario";
contaMario.Deposita(2750.0);
contas[1] = contaMario;
foreach (Conta conta in contas)
{
this.comboDeContas.Items.Add(conta.Titular.nome);
}
}
private void comboDeContas_SelectedIndexChanged(object sender, EventArgs e)
{
int indiceSelecionado = this.comboDeContas.SelectedIndex;
contaSelecionada = contas[indiceSelecionado];
this.MostraConta(contaSelecionada);
}
private void botaoDeposita_Click(object sender, EventArgs e)
{
contaSelecionada.Deposita(Convert.ToDouble(this.textoValor.Text));
this.MostraConta(contaSelecionada);
}
private void botaoSacar_Click(object sender, EventArgs e)
{
contaSelecionada.Saca(Convert.ToDouble(this.textoValor.Text));
this.MostraConta(contaSelecionada);
}
private void MostraConta(Conta conta)
{
this.textoTitular.Text = conta.Titular.nome;
this.textoNumero.Text = Convert.ToString(conta.Numero);
this.textoSaldo.Text = Convert.ToString(conta.Saldo);
}
}