1.Crie um diretório services em lib e adicione um arquivo account_service.dart:
class AccountServices {
final StreamController<String> _streamController = StreamController<String>();
Stream<String> get streamInfos => _streamController.stream;
2.Crie o arquivo account_service.dart na pasta services;
Future<List<Account>> getAll() async {
Response response = await get(Uri.parse(url));
_streamController.add("${DateTime.now()} | Requisicão de leitura.");
3. No arquivo account_service.dart, crie a classe AccountService;
List<Account> listAccounts = [];
for (dynamic dyn in listDynamic){
Map<String, dynamic> mapAccount = dyn as Map<String, dynamic>;
Account account = Account.fromMap(mapAccount);
listAccounts.add(account);
}
return listAccounts;
}
4.Mova as funções correspondentes a getAll e addAccount para dentro do serviço;
Future<void> addAccount(Account account) async {
List<Account> listAccounts = await getAll();
listAccounts.add(account);
List<Map<String, dynamic>> listContent = [];
for (Account account in listAccounts){
listContent.add(account.toMap());
}
String content = json.encode(listContent);