Exemplo n.º 1
0
        public OverviewViewModel(IWalletRepository walletRepository, IAccountLedgerRunner accountLedgerRunner, IAccountLedgerRepository accountLedgerRepository,
                                 IContactRepository contactRepository)
        {
            _walletRepository        = walletRepository;
            _accountLedgerRepository = accountLedgerRepository;
            _contactRepository       = contactRepository;
            InitUiProperties();

            MessengerInstance.Register <LedgerEntryMessage>(this, (message) =>
            {
                DispatcherHelper.CheckBeginInvokeOnUI(() =>
                {
                    if (message.Action == LedgerEntryMessageAction.Added)
                    {
                        InsertLedgerEntry(message.LedgerEntry);
                    }
                    else if (message.Action == LedgerEntryMessageAction.ConfirmationUpdated)
                    {
                        var existingLedgerEntry         = LedgerEntries.Single(t => t.Equals(message.LedgerEntry));
                        existingLedgerEntry.IsConfirmed = message.LedgerEntry.IsConfirmed;
                    }
                    else if (message.Action == LedgerEntryMessageAction.Removed)
                    {
                        LedgerEntries.Remove(LedgerEntries.Single(t => t.Equals(message.LedgerEntry)));
                    }
                });
            });

            MessengerInstance.Register <BalanceUpdatedMessage>(this, (message) =>
            {
                DispatcherHelper.CheckBeginInvokeOnUI(() => NxtBalance = message.NqtBalance.NqtToNxt());
            });

            MessengerInstance.Register <SecretPhraseResetMessage>(this, (message) =>
            {
                InitUiProperties();
                LedgerEntries.Clear();
            });

            LedgerEntries = new ObservableCollection <LedgerEntry>();
            LoadLedgerEntriesFromRepository();
        }
Exemplo n.º 2
0
 public ToastManager(IWalletRepository walletRepository, IAccountLedgerRunner accountLedgerRunner)
 {
     _walletRepository    = walletRepository;
     _accountLedgerRunner = accountLedgerRunner;
 }