namespace Reclaim { public class AccountsViewModel : Object { public ObservableList accounts { get; default = new ObservableList (); } public IAccountRepository? repository { get; construct; } public AccountsViewModel (IAccountRepository repository) { Object(repository: repository); } construct { populate_accounts (); } public void create_new_account (Account account) { repository.create (account); accounts.add (account); } public void populate_accounts () { var accounts = repository.read_all (); this.accounts.add_all (accounts); } } }