0
respostas

Podem me ajudar - no final do projeto está aparecendo a ultima conta implementada

- no Gist aparece a última conta

1
[Account(id: ID001, name: Ricarth Lima, balance: 113.0), Account(id: ID002, name: Ana Silva, balance: 250.0), Account(id: ID003, name: Bruno Santos, balance: 75.0), Account(id: ID004, name: Carla Oliveira, balance: 500.0), Account(id: ID005, name: Daniel Ferreira, balance: 180.0), Account(id: ID006, name: Elisa Costa, balance: 320.0), Account(id: ID007, name: Fábio Pereira, balance: 60.0), Account(id: ID008, name: Gabriela Rodrigues, balance: 200.0), Account(id: ID009, name: Henrique Martins, balance: 450.0), Account(id: ID010, name: Isabela Almeida, balance: 210.0)]
Como eu posso te ajudar? (digite o número desejado)

No gist aparece

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

import 'dart:io';

import 'package:dart_assincronismo/models/account.dart';
import 'package:dart_assincronismo/services/account_services.dart';

class AccountScreen {
  final AccountServices accountService = AccountServices();
  
  void initializeStream() {
    accountService.streamInfos.listen(
      (event) {
        print(event);
      },
    );
    }
    void runChatBot() async {
      print("Bom dia! Eu sou o Lewis, assistente do Banco d'Ouro!");
      print("Que bom te ter aqui com a gente.\n");

      bool isRunning = true;

      while (isRunning){
      print("Como eu posso te ajudar? (digite o número desejado)");
      print("1 - Ver todas sua contas.");
      print("2 - Adicionar nova conta.");
      print("3 - Sair\n");


      String? input = stdin.readLineSync();

      if (input != null){
        switch (input){
          case "1":
          {
            await getAllAccounts();
            break;
          }  
          case "2":
          {
            await addExampleAccount();
            break;
          }
          case "3":
          {
            isRunning = false;
            print("Te vejo na próxima.");
            break;
          }
          default:{
            print("Não entendi. Tente novamente.");
          }
        }
      }
      }
    }

 Future<void> getAllAccounts() async {
    List<Account> listAccounts = await accountService.getAll();
    print(listAccounts);
  }
Future<void> addExampleAccount() async {
    Account example = Account(
      id: "ID 555",
      name: "Haley",
      lastName: "Chirívia",
      balance: 8001,
    );

  await accountService.addAccount(example);

   }
}
class Account {
String id;
String name;
String lastName;
double balance;

Account({
required this.id, 
required this.name,
required this.lastName,
required this.balance,
});


factory Account.fromMap(Map<String, dynamic> map) {
  return Account(
    id: map["id"], 
    name: map["name"], 
    lastName: map["lastName"], 
    balance: map["balance"],
    );
}

Map<String, dynamic> toMap() {
    return {
      "id": id,
      "name": name,
      "lastName": lastName,
      "balance": balance,
    };
  }

@override
  String toString() {
    return "Account(id: $id, name: $name $lastName, balance: $balance)";
  }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR