public void ModifyTransactionId(Guid fromTxId, Guid toTxId, TimeSpan timeout)
{
storage.Transactions.UpdateKey(new RavenJObject
{
{"txId", toTxId.ToByteArray()},
{"timeout", SystemTime.UtcNow.Add(timeout)}
});
var transactionInformation = new TransactionInformation { Id = toTxId, Timeout = timeout };
CompleteTransaction(fromTxId, data =>
{
var readResult = storage.Documents.Read(new RavenJObject { { "key", data.Key } });
if (readResult != null)
{
((RavenJObject)readResult.Key)["txId"] = toTxId.ToByteArray();
storage.Documents.UpdateKey(readResult.Key);
}
if (data.Delete)
DeleteDocumentInTransaction(transactionInformation, data.Key, null);
else
AddDocumentInTransaction(data.Key, null, data.Data, data.Metadata, transactionInformation);
});
}