Agora a classe serviço:
public class ServicoConta implements interfaceServico.ServicoConta {
RepositorioConta repositorioConta = new RepositorioConta(new ArrayList<>());
public ServicoConta(List<Conta> contaList) {
}
@Override
public void cadastrarContaMembro() {
String titularMembro = JOptionPane.showInputDialog("Nome: ");
String cpfMembro = JOptionPane.showInputDialog("CPF: ");
int numeroDaContaMembro = Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: "));
int senhaMembro = Integer.parseInt(JOptionPane.showInputDialog("Senha: "));
int saldoMembro = 0;
ContaMembro contaMembro = new ContaMembro(numeroDaContaMembro,senhaMembro,saldoMembro,titularMembro,cpfMembro);
repositorioConta.cadastrarContaMembro(contaMembro);
}
@Override
public void cadastrarContaIgreja() {
String titularIgreja = JOptionPane.showInputDialog("Nome: ");
String cnpjIgreja = JOptionPane.showInputDialog("CNPJ: ");
int numeroDaContaIgreja = Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: "));
int senhaIgreja = Integer.parseInt(JOptionPane.showInputDialog("Senha: "));
int saldoIgreja = 0;
ContaIgreja contaIgreja = new ContaIgreja(numeroDaContaIgreja,senhaIgreja,saldoIgreja,titularIgreja,cnpjIgreja);
repositorioConta.cadastrarContaMembro(contaIgreja);
}
@Override
public void alterarContaMembro() {
int numeroAtualDaContaMembro = Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: "));
int senhaAtualDaContaMembro = Integer.parseInt(JOptionPane.showInputDialog("Senha: "));
Conta conta = encontrarConta(numeroAtualDaContaMembro,senhaAtualDaContaMembro);
if (conta != null){
String novoTitularMembro = JOptionPane.showInputDialog("Nome: ");
String novoCpf = JOptionPane.showInputDialog("CPF: ");
int novoNumeroDaContaMembro = Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: "));
int novaSenhaMembro = Integer.parseInt(JOptionPane.showInputDialog("Senha: "));
double novoSaldoMembro = 0;
ContaMembro contaMembro = new ContaMembro(numeroAtualDaContaMembro,senhaAtualDaContaMembro,novoSaldoMembro,novoTitularMembro,novoCpf);
repositorioConta.alterarContaMembro(contaMembro);
}
}
@Override
public void alterarContaIgreja() {
int numeroAtualDaContaIgreja = Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: "));
int senhaAtualDaContaIgreja = Integer.parseInt(JOptionPane.showInputDialog("Senha: "));
Conta conta = encontrarConta(numeroAtualDaContaIgreja,senhaAtualDaContaIgreja);
if (conta != null){
String novoTitularIgreja = JOptionPane.showInputDialog("Nome: ");
String novoCnpj = JOptionPane.showInputDialog("CNPJ: ");
int novoNumeroDaContaIgreja = Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: "));
int novaSenhaIgreja = Integer.parseInt(JOptionPane.showInputDialog("Senha: "));
int novoSaldoDaIgreja = 0;
ContaIgreja contaIgreja = new ContaIgreja(numeroAtualDaContaIgreja,senhaAtualDaContaIgreja,novoSaldoDaIgreja,novoTitularIgreja,novoCnpj);
repositorioConta.alterarContaIgreja(contaIgreja);
}
}
@Override
public void removerContaIgreja() {
repositorioConta.removerContaIgreja(Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: ")),
Integer.parseInt(JOptionPane.showInputDialog("Senha: ")));
}
@Override
public void removerContaMebro() {
}
@Override
public void listarContas() {
int numeroDaConta = Integer.parseInt(JOptionPane.showInputDialog("Numero da conta: "));
int senha = Integer.parseInt(JOptionPane.showInputDialog("Senha: "));
Conta conta = encontrarConta(numeroDaConta,senha);
if (conta != null ){
JOptionPane.showMessageDialog(null,conta.toString());
}
}
private Conta encontrarConta(int numeroDaConta, int senha){
List<Conta> contaList = repositorioConta.listarConta();
for (Conta conta : contaList){
if (conta.getNumeroDaConta() == numeroDaConta && conta.getSenha() == senha){
return conta;
}
}
return null;
}
}