public CoinJoinHistoryItemViewModel( int orderIndex, TransactionSummary transactionSummary, WalletViewModel walletViewModel, Money balance, IObservable <Unit> updateTrigger, bool isSingleCoinJoinTransaction) : base(orderIndex, transactionSummary) { IsConfirmed = transactionSummary.IsConfirmed(); Date = transactionSummary.DateTime.ToLocalTime(); Balance = balance; IsCoinJoin = true; CoinJoinTransaction = transactionSummary; IsSingleCoinJoinTransaction = isSingleCoinJoinTransaction; var amount = transactionSummary.Amount; if (amount < Money.Zero) { OutgoingAmount = amount * -1; } else { IncomingAmount = amount; } ShowDetailsCommand = ReactiveCommand.Create(() => RoutableViewModel.Navigate(NavigationTarget.DialogScreen).To( new CoinJoinDetailsViewModel(this, updateTrigger))); DateString = $"{Date.ToLocalTime():MM/dd/yyyy HH:mm}"; }
public TransactionHistoryItemViewModel( int orderIndex, TransactionSummary transactionSummary, WalletViewModel walletViewModel, Money balance, IObservable <Unit> updateTrigger) : base(orderIndex, transactionSummary) { Label = transactionSummary.Label.Take(1).FirstOrDefault(); FilteredLabel = transactionSummary.Label.Skip(1).ToList(); IsConfirmed = transactionSummary.IsConfirmed(); Date = transactionSummary.DateTime.ToLocalTime(); Balance = balance; var amount = transactionSummary.Amount; if (amount < Money.Zero) { OutgoingAmount = amount * -1; } else { IncomingAmount = amount; } ShowDetailsCommand = ReactiveCommand.Create(() => RoutableViewModel.Navigate(NavigationTarget.DialogScreen).To( new TransactionDetailsViewModel(transactionSummary, walletViewModel.Wallet, updateTrigger))); DateString = $"{Date.ToLocalTime():MM/dd/yy HH:mm}"; }
public TransactionHistoryItemViewModel( int orderIndex, TransactionSummary transactionSummary, WalletViewModel walletViewModel, Money balance, IObservable <Unit> updateTrigger) : base(orderIndex, transactionSummary) { Label = transactionSummary.Label; IsConfirmed = transactionSummary.IsConfirmed(); Date = transactionSummary.DateTime.ToLocalTime(); Balance = balance; var amount = transactionSummary.Amount; if (amount < Money.Zero) { OutgoingAmount = amount * -1; } else { IncomingAmount = amount; } ShowDetailsCommand = ReactiveCommand.Create(() => RoutableViewModel.Navigate(NavigationTarget.DialogScreen).To( new TransactionDetailsViewModel(transactionSummary, walletViewModel.Wallet, updateTrigger))); var speedUpTransactionCommandCanExecute = this.WhenAnyValue(x => x.IsConfirmed) .Select(x => !x) .ObserveOn(RxApp.MainThreadScheduler); SpeedUpTransactionCommand = ReactiveCommand.Create( () => { // TODO: Show speed up transaction dialog. }, speedUpTransactionCommandCanExecute); DateString = $"{Date.ToLocalTime():MM/dd/yyyy HH:mm}"; }