internal static void AfterExecute(IDatabaseCommands databaseCommands, string indexName, ScriptedIndexResults scripts) { var documentId = GetScriptedIndexResultsDocumentId(indexName); scripts.Id = documentId; var oldDocument = databaseCommands.Get(documentId); var newDocument = RavenJObject.FromObject(scripts); if (oldDocument != null && RavenJToken.DeepEquals(oldDocument.DataAsJson, newDocument)) return; databaseCommands.Put(documentId, null, newDocument, null); databaseCommands.ResetIndex(indexName); }
internal static async Task AfterExecuteAsync(IAsyncDatabaseCommands asyncDatabaseCommands, string indexName, ScriptedIndexResults scripts, CancellationToken token) { var documentId = GetScriptedIndexResultsDocumentId(indexName); scripts.Id = documentId; var oldDocument = await asyncDatabaseCommands.GetAsync(documentId, token).ConfigureAwait(false); var newDocument = RavenJObject.FromObject(scripts); if (oldDocument != null && RavenJToken.DeepEquals(oldDocument.DataAsJson, newDocument)) return; await asyncDatabaseCommands.PutAsync(documentId, null, newDocument, null, token).ConfigureAwait(false); await asyncDatabaseCommands.ResetIndexAsync(indexName, token).ConfigureAwait(false); }
protected AbstractScriptedIndexCreationTask() { scripts = new ScriptedIndexResults(); }