Paymetheus.TransactionViewModel.TransactionViewModel C# (CSharp) Méthode

TransactionViewModel() public méthode

public TransactionViewModel ( Wallet wallet, WalletTransaction transaction, BlockIdentity transactionLocation ) : Paymetheus.Bitcoin
wallet Paymetheus.Bitcoin.Wallet.Wallet
transaction Paymetheus.Bitcoin.Wallet.WalletTransaction
transactionLocation BlockIdentity
Résultat Paymetheus.Bitcoin
        public TransactionViewModel(Wallet wallet, WalletTransaction transaction, BlockIdentity transactionLocation)
        {
            _transaction = transaction;
            _location = transactionLocation;

            var groupedOutputs = _transaction.NonChangeOutputs.Select(o =>
            {
                var destination = wallet.OutputDestination(o);
                return new GroupedOutput(o.Amount, destination);
            }).Aggregate(new List<GroupedOutput>(), (items, next) =>
            {
                var item = items.Find(a => a.Destination == next.Destination);
                if (item == null)
                    items.Add(next);
                else
                    item.Amount += next.Amount;

                return items;
            });

            Confirmations = BlockChain.Confirmations(wallet.ChainTip.Height, transactionLocation);
            Inputs = _transaction.Inputs.Select(input => new Input(-input.Amount, wallet.AccountName(input.PreviousAccount))).ToArray();
            Outputs = _transaction.Outputs.Select(output => new Output(output.Amount, wallet.OutputDestination(output))).ToArray();
            GroupedOutputs = groupedOutputs;
        }
TransactionViewModel