- 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

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)";
}
}