private void Events_TransactionCommit(RemoteDbTransaction connection)
        {
            var id          = GetOrThrowConnectionId(connection.Connection as RemotingDbConnection);
            var transaction = TransactionIds.GetOrAdd(connection, f => null);

            CommitTransaction(id, transaction);
        }
Example #2
0
        public virtual ResourceCollection <Transaction> Transactions()
        {
            var gateway = new TransactionGateway(this.gateway);

            var searchRequest = new TransactionSearchRequest().
                                Ids.IncludedIn(TransactionIds.ToArray());

            return(gateway.Search(searchRequest));
        }
        public ResourceCollection <Transaction> Transactions()
        {
            TransactionGateway gateway = new TransactionGateway(service);

            TransactionSearchRequest searchRequest = new TransactionSearchRequest().
                                                     Ids.IncludedIn(TransactionIds.ToArray());

            return(gateway.Search(searchRequest));
        }
Example #4
0
        /// <summary>
        /// if we want to add an element to the SIL, we should provide the row (means which sequence) and the value(the position of the item in the sequence) information
        /// </summary>
        /// <param name="row"></param>
        /// <param name="value"></param>
        public void AddElement(int row, int value)
        {
            if (Vector[row] == null)
            {
                Vector[row] = new TransactionIds();

                Support++;
            }

            Vector[row].Add(new ListNode(value));
        }
Example #5
0
        /// <summary>
        /// Gets the transactions.
        /// </summary>
        /// <param name="transactionId">The transaction identifier.</param>
        /// <returns>IObservable&lt;List&lt;Transaction&gt;&gt;.</returns>
        /// <exception cref="ArgumentNullException">transactionId</exception>
        /// <exception cref="ArgumentException">Collection contains one or more invalid ids.</exception>
        public IObservable <List <Transaction> > GetTransactions(TransactionIds transactionId)
        {
            if (transactionId == null)
            {
                throw new ArgumentNullException(nameof(transactionId));
            }
            if (transactionId.transactionIds.Any(hash => hash.Length != 24 || !Regex.IsMatch(hash, @"\A\b[0-9a-fA-F]+\b\Z")))
            {
                throw new ArgumentException("Collection contains one or more invalid ids.");
            }

            return(Observable.FromAsync(async ar => await TransactionRoutesApi.GetTransactionsAsync(transactionId)));
        }
        private string TryGetTransactionId(RemoteDbTransaction connection)
        {
            if (connection == null)
            {
                return(null);
            }

            if (TransactionIds.TryGetValue(connection, out var id))
            {
                return(id);
            }

            return(null);
        }
        /// <summary>
        ///     Returns transactions information for a given array of transactionIds
        /// </summary>
        /// <param name="transactionHashes">Transaction hashes</param>
        /// <returns>IObservable&lt;List&lt;Transaction&gt;&gt;</returns>
        public IObservable <List <Transaction> > GetTransactions(List <string> transactionHashes, TransactionGroupType group)
        {
            if (transactionHashes.Count < 0)
            {
                throw new ArgumentNullException(nameof(transactionHashes));
            }

            var hashes = new TransactionIds
            {
                _TransactionIds = transactionHashes
            };

            var route = $"{BasePath}/transactions/{group}";

            return(Observable.FromAsync(async ar => await route.PostJsonAsync(hashes).ReceiveJson <List <JObject> >())
                   .Select(h => h.Select(t => new TransactionMapping().Apply(t)).ToList()));
        }
Example #8
0
 public Block Clone() =>
 new Block
 {
     Original            = Original,
     Id                  = Id,
     PreviousHash        = PreviousHash,
     Difficulty          = Difficulty,
     Nonce               = Nonce,
     Timestamp           = Timestamp,
     TransactionRootHash = TransactionRootHash,
     TransactionIds      = TransactionIds?.ToList(),
     Transactions        = Transactions?.ToList(),
     Height              = Height,
     ParsedTransactions  = ParsedTransactions
                           ?.Select(x => x.Clone()).ToArray(),
     TotalDifficulty = TotalDifficulty,
 };
 private void Events_TransactionCreated(RemoteDbTransaction connection)
 {
     TransactionIds.TryAdd(connection, RegisterTransaction(GetOrThrowConnectionId(connection.Connection as RemotingDbConnection)));
 }
 internal NetworkGetExecutionTimeQuery(IEnumerable <TxId> transactionIds) : this()
 {
     TransactionIds.AddRange(transactionIds.Select(t => new TransactionID(t)));
 }