Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }