Esempio n. 1
0
        /// <summary>
        /// Perform a set based update using the specified index.
        /// </summary>
        /// <param name="indexName">Name of the index.</param>
        /// <param name="queryToUpdate">The query to update.</param>
        /// <param name="patchRequests">The patch requests.</param>
        /// <param name="allowStale">if set to <c>true</c> [allow stale].</param>
        public void UpdateByIndex(string indexName, IndexQuery queryToUpdate, PatchRequest[] patchRequests, bool allowStale)
        {
            CurrentOperationContext.Headers.Value = OperationsHeaders;
            var databaseBulkOperations = new DatabaseBulkOperations(database, RavenTransactionAccessor.GetTransactionInformation());

            databaseBulkOperations.UpdateByIndex(indexName, queryToUpdate, patchRequests, allowStale);
        }
 public JsonDocument[] Get(string[] ids)
 {
     CurrentRavenOperation.Headers.Value = OperationsHeaders;
     return(ids
            .Select(id => database.Get(id, RavenTransactionAccessor.GetTransactionInformation()))
            .Where(document => document != null)
            .ToArray());
 }
Esempio n. 3
0
 /// <summary>
 /// Executed the specified commands as a single batch
 /// </summary>
 /// <param name="commandDatas">The command data.</param>
 public BatchResult[] Batch(IEnumerable <ICommandData> commandDatas)
 {
     foreach (var commandData in commandDatas)
     {
         commandData.TransactionInformation = RavenTransactionAccessor.GetTransactionInformation();
     }
     CurrentOperationContext.Headers.Value = OperationsHeaders;
     return(database.Batch(commandDatas));
 }
Esempio n. 4
0
 /// <summary>
 /// Gets the results for the specified ids.
 /// </summary>
 /// <param name="ids">The ids.</param>
 /// <param name="includes">The includes.</param>
 /// <returns></returns>
 public MultiLoadResult Get(string[] ids, string[] includes)
 {
     CurrentOperationContext.Headers.Value = OperationsHeaders;
     return(new MultiLoadResult
     {
         Results = ids
                   .Select(id => database.Get(id, RavenTransactionAccessor.GetTransactionInformation()))
                   .Where(document => document != null)
                   .Select(x => x.ToJson())
                   .ToList()
     });
 }
Esempio n. 5
0
        private static void AddTransactionInformation(JObject metadata)
        {
            var transactionInformation = RavenTransactionAccessor.GetTransactionInformation();

            if (transactionInformation == null)
            {
                return;
            }

            string txInfo = string.Format("{0}, {1}", transactionInformation.Id, transactionInformation.Timeout);

            metadata["Raven-Transaction-Information"] = new JValue(txInfo);
        }
Esempio n. 6
0
 /// <summary>
 /// Deletes the document with the specified key.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <param name="etag">The etag.</param>
 public void Delete(string key, Guid?etag)
 {
     CurrentOperationContext.Headers.Value = OperationsHeaders;
     database.Delete(key, etag, RavenTransactionAccessor.GetTransactionInformation());
 }
Esempio n. 7
0
 /// <summary>
 /// Puts the document with the specified key in the database
 /// </summary>
 /// <param name="key">The key.</param>
 /// <param name="etag">The etag.</param>
 /// <param name="document">The document.</param>
 /// <param name="metadata">The metadata.</param>
 /// <returns></returns>
 public PutResult Put(string key, Guid?etag, JObject document, JObject metadata)
 {
     CurrentOperationContext.Headers.Value = OperationsHeaders;
     return(database.Put(key, etag, document, metadata, RavenTransactionAccessor.GetTransactionInformation()));
 }
Esempio n. 8
0
 /// <summary>
 /// Gets the document for the specified key.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <returns></returns>
 public JsonDocument Get(string key)
 {
     CurrentOperationContext.Headers.Value = OperationsHeaders;
     return(database.Get(key, RavenTransactionAccessor.GetTransactionInformation()));
 }
        public void DeleteByIndex(string indexName, IndexQuery queryToDelete, bool allowStale)
        {
            var databaseBulkOperations = new DatabaseBulkOperations(database, RavenTransactionAccessor.GetTransactionInformation());

            databaseBulkOperations.DeleteByIndex(indexName, queryToDelete, allowStale);
        }