import 'package:flutter/material.dart'; import 'package:instruction_app/data/interface/IRepository.dart'; import 'package:instruction_app/models/organization.dart'; class OrganizationProvider extends ChangeNotifier { final Repository _repository; OrganizationProvider(this._repository); List _organizations = []; List get organizations => _organizations; bool _isLoading = false; bool get isLoading => _isLoading; Future loadOrganizations() async { setLoading(false); _organizations = await _repository.load(); setLoading(true); } Future addOrganization(String title) async { final newOrganization = Organization( title: title ); await _repository.add(newOrganization); await loadOrganizations(); } Future updateOrganization(Organization organization) async { await _repository.update(organization); await loadOrganizations(); } Future deleteOrganization(String id) async { await _repository.delete(id); _organizations.removeWhere((item) => item.id == id); notifyListeners(); } void setLoading(bool value){ _isLoading = value; notifyListeners(); } }