Esempio n. 1
0
        public static FinancialTransaction FromBlockchainHash(Organization organization, string blockchainTransactionHash)
        {
            int[] transactionIds =
                SwarmDb.GetDatabaseForReading()
                .GetObjectsByOptionalData(ObjectType.FinancialTransaction,
                                          ObjectOptionalDataType.FinancialTransactionBlockchainHash, blockchainTransactionHash);

            // There may be multiple transactions in this Swarmops installation referring to this transaction on the blockchain, but only
            // one per organization. So find the transaction that matches the org we want.

            foreach (int transactionId in transactionIds)
            {
                FinancialTransaction potentialResult = FinancialTransaction.FromIdentity(transactionId);
                if (potentialResult.OrganizationId == organization.Identity)
                {
                    return(potentialResult);
                }
            }

            throw new ArgumentException("No match for supplied blockchain tx hash and organization");
        }