protected override void LoadToFunction(string collectionName, ScriptRunnerResult document) { if (collectionName == null) { ThrowLoadParameterIsMandatory(nameof(collectionName)); } string id; if (_script.IsLoadedToDefaultCollection(Current, collectionName)) { id = Current.DocumentId; } else { id = GetPrefixedId(Current.DocumentId, collectionName, OperationType.Put); var metadata = document.GetOrCreate(Constants.Documents.Metadata.Key); metadata.Put(Constants.Documents.Metadata.Collection, collectionName, false); metadata.Put(Constants.Documents.Metadata.Id, id, false); } var transformed = document.TranslateToObject(Context); var transformResult = Context.ReadObject(transformed, id); _commands.Add(new PutCommandDataWithBlittableJson(id, null, transformResult)); }
protected override void LoadToFunction(string collectionName, ScriptRunnerResult document) { if (collectionName == null) { ThrowLoadParameterIsMandatory(nameof(collectionName)); } string id; var loadedToDifferentCollection = false; if (_script.IsLoadedToDefaultCollection(Current, collectionName)) { id = Current.DocumentId; } else { id = GetPrefixedId(Current.DocumentId, collectionName); loadedToDifferentCollection = true; } var metadata = document.GetOrCreate(Constants.Documents.Metadata.Key); if (loadedToDifferentCollection || metadata.HasProperty(Constants.Documents.Metadata.Collection) == false) { metadata.Put(Constants.Documents.Metadata.Collection, collectionName, throwOnError: true); } if (metadata.HasProperty(Constants.Documents.Metadata.Attachments)) { metadata.Delete(Constants.Documents.Metadata.Attachments, throwOnError: true); } if (metadata.HasProperty(Constants.Documents.Metadata.Counters)) { metadata.Delete(Constants.Documents.Metadata.Counters, throwOnError: true); } var transformed = document.TranslateToObject(Context); var transformResult = Context.ReadObject(transformed, id); _currentRun.Put(id, document.Instance, transformResult); if (_transformation.IsAddingAttachments) { var docInstance = (ObjectInstance)document.Instance; docInstance.DefineOwnProperty(Transformation.AddAttachment, _addAttachmentMethod, throwOnError: true); } if (_transformation.IsAddingCounters) { var docInstance = (ObjectInstance)document.Instance; docInstance.DefineOwnProperty(Transformation.AddCounter, _addCounterMethod, throwOnError: true); } }
protected override void LoadToFunction(string collectionName, ScriptRunnerResult document) { if (collectionName == null) { ThrowLoadParameterIsMandatory(nameof(collectionName)); } string id; var loadedToDifferentCollection = false; if (_script.IsLoadedToDefaultCollection(Current, collectionName)) { id = Current.DocumentId; } else { id = GetPrefixedId(Current.DocumentId, collectionName); loadedToDifferentCollection = true; } var metadata = document.GetOrCreate(Constants.Documents.Metadata.Key); if (loadedToDifferentCollection || metadata.HasProperty(Constants.Documents.Metadata.Collection) == false) { metadata.Put(Constants.Documents.Metadata.Collection, collectionName, throwOnError: true); } if (metadata.HasProperty(Constants.Documents.Metadata.Id) == false) { metadata.Put(Constants.Documents.Metadata.Id, id, throwOnError: true); } if (metadata.HasProperty(Constants.Documents.Metadata.Attachments)) { metadata.Delete(Constants.Documents.Metadata.Attachments, throwOnError: true); } var transformed = document.TranslateToObject(Context); var transformResult = Context.ReadObject(transformed, id); _commands.Add(new PutCommandDataWithBlittableJson(id, null, transformResult)); }