Example #1
0
 private bool M(ScriptContext x, NamedContentData?newData, NamedContentData?oldData, Status newStatus, Status oldStatus)
 {
     return
         (Equals(x.Data, newData) &&
          Equals(x.DataOld, oldData) &&
          Equals(x.Status, newStatus) &&
          Equals(x.StatusOld, oldStatus) &&
          x.ContentId == contentId && x.User == User);
 }
Example #2
0
        public void ParseData(Schema schema, IJsonSerializer serializer)
        {
            data = DataByIds?.FromMongoModel(schema, ReferencedIdsDeleted, serializer);

            if (DataDraftByIds != null)
            {
                dataDraft = DataDraftByIds.FromMongoModel(schema, ReferencedIdsDeleted, serializer);
            }
        }
Example #3
0
        public void ParseData(Schema schema, IJsonSerializer serializer)
        {
            if (DataByIds != null)
            {
                data = DataByIds.FromMongoModel(schema, serializer);
            }

            if (DataDraftByIds != null)
            {
                dataDraft = DataDraftByIds.FromMongoModel(schema, serializer);
            }
        }
Example #4
0
        private void UpdateData(NamedContentData?data, NamedContentData?dataDraft, bool isPending)
        {
            if (data != null)
            {
                Data = data;
            }

            if (dataDraft != null)
            {
                DataDraft = dataDraft;
            }

            IsPending = isPending;
        }
Example #5
0
        private void UpdateData(NamedContentData?data, NamedContentData?dataDraft, bool isPending)
        {
            if (data != null)
            {
                Data = data;
            }

            if (OrderNo == 0)
            {
                OrderNo = DateTime.Now.Ticks;
            }

            if (dataDraft != null)
            {
                DataDraft = dataDraft;
            }

            IsPending = isPending;
        }
Example #6
0
        protected IEnrichedContentEntity CreateContent(Guid id, Guid refId, Guid assetId, NamedContentData?data = null)
        {
            var now = SystemClock.Instance.GetCurrentInstant();

            data ??=
            new NamedContentData()
            .AddField("my-string",
                      new ContentFieldData()
                      .AddValue("de", "value"))
            .AddField("my-assets",
                      new ContentFieldData()
                      .AddValue("iv", JsonValue.Array(assetId.ToString())))
            .AddField("my-number",
                      new ContentFieldData()
                      .AddValue("iv", 1.0))
            .AddField("my_number",
                      new ContentFieldData()
                      .AddValue("iv", 2.0))
            .AddField("my-boolean",
                      new ContentFieldData()
                      .AddValue("iv", true))
            .AddField("my-datetime",
                      new ContentFieldData()
                      .AddValue("iv", now))
            .AddField("my-tags",
                      new ContentFieldData()
                      .AddValue("iv", JsonValue.Array("tag1", "tag2")))
            .AddField("my-references",
                      new ContentFieldData()
                      .AddValue("iv", JsonValue.Array(refId.ToString())))
            .AddField("my-union",
                      new ContentFieldData()
                      .AddValue("iv", JsonValue.Array(refId.ToString())))
            .AddField("my-geolocation",
                      new ContentFieldData()
                      .AddValue("iv", JsonValue.Object().Add("latitude", 10).Add("longitude", 20)))
            .AddField("my-json",
                      new ContentFieldData()
                      .AddValue("iv", JsonValue.Object().Add("value", 1)))
            .AddField("my-localized",
                      new ContentFieldData()
                      .AddValue("de-DE", "de-DE"))
            .AddField("my-array",
                      new ContentFieldData()
                      .AddValue("iv", JsonValue.Array(
                                    JsonValue.Object()
                                    .Add("nested-boolean", true)
                                    .Add("nested-number", 10)
                                    .Add("nested_number", 11),
                                    JsonValue.Object()
                                    .Add("nested-boolean", false)
                                    .Add("nested-number", 20)
                                    .Add("nested_number", 21))));

            var content = new ContentEntity
            {
                Id             = id,
                Version        = 1,
                Created        = now,
                CreatedBy      = new RefToken(RefTokenType.Subject, "user1"),
                LastModified   = now,
                LastModifiedBy = new RefToken(RefTokenType.Subject, "user2"),
                Data           = data,
                SchemaId       = schemaId,
                Status         = Status.Draft,
                StatusColor    = "red"
            };

            return(content);
        }
Example #7
0
 public bool Equals(NamedContentData?other)
 {
     return(base.Equals(other));
 }
Example #8
0
        public static async Task NormalizeAsync(this ITagService tagService, Guid appId, Guid schemaId, Schema schema, NamedContentData newData, NamedContentData?oldData)
        {
            Guard.NotNull(tagService);
            Guard.NotNull(schema);
            Guard.NotNull(newData);

            var newValues = new HashSet <string>();
            var newArrays = new List <JsonArray>();

            var oldValues = new HashSet <string>();
            var oldArrays = new List <JsonArray>();

            GetValues(schema, newValues, newArrays, newData);

            if (oldData != null)
            {
                GetValues(schema, oldValues, oldArrays, oldData);
            }

            if (newValues.Count > 0)
            {
                var normalized = await tagService.NormalizeTagsAsync(appId, TagGroups.Schemas(schemaId), newValues, oldValues);

                foreach (var array in newArrays)
                {
                    for (var i = 0; i < array.Count; i++)
                    {
                        if (normalized.TryGetValue(array[i].ToString(), out var result))
                        {
                            array[i] = JsonValue.Create(result);
                        }
                    }
                }
            }
        }
Example #9
0
 private ScriptContext ScriptContext(NamedContentData?newData, NamedContentData?oldData, Status newStatus, Status oldStatus)
 {
     return(A <ScriptContext> .That.Matches(x => M(x, newData, oldData, newStatus, oldStatus)));
 }
 private ScriptVars ScriptContext(NamedContentData?newData, NamedContentData?oldData, Status newStatus)
 {
     return(A <ScriptVars> .That.Matches(x => M(x, newData, oldData, newStatus, default)));
 }
 private ContentEntity CreateContent(NamedContentData?data = null)
 {
     return(new ContentEntity {
         SchemaId = schemaId, Data = data !
     });