BitSharp.Esent.EsentBlockTxesStorage.TryAddBlockTransactions C# (CSharp) Method

TryAddBlockTransactions() public method

public TryAddBlockTransactions ( UInt256 blockHash, IEnumerable blockTxes ) : bool
blockHash UInt256
blockTxes IEnumerable
return bool
        public bool TryAddBlockTransactions(UInt256 blockHash, IEnumerable<EncodedTx> blockTxes)
        {
            if (this.ContainsBlock(blockHash))
                return false;

            try
            {
                using (var handle = this.cursorCache.TakeItem())
                {
                    var cursor = handle.Item;

                    using (var jetTx = cursor.jetSession.BeginTransaction())
                    {
                        var blockIndex = AddBlockIndex(cursor, blockHash);

                        var txIndex = 0;
                        foreach (var tx in blockTxes)
                        {
                            AddTransaction(blockIndex, txIndex, tx.Hash, tx.TxBytes.ToArray(), cursor);
                            txIndex++;
                        }

                        // increase block count
                        Api.EscrowUpdate(cursor.jetSession, cursor.globalsTableId, cursor.blockCountColumnId, +1);

                        jetTx.CommitLazy();
                        return true;
                    }
                }
            }
            catch (EsentKeyDuplicateException)
            {
                return false;
            }
        }