public static IEnumerable <Guid> GetReferencedIds(this NamedContentData source, IEnumerable <IField> fields, Ids strategy = Ids.All) { Guard.NotNull(fields); foreach (var field in fields) { var ids = source.GetReferencedIds(field, strategy); foreach (var id in ids) { yield return(id); } } }
public void Should_get_ids_from_name_data() { var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var input = new NamedContentData() .AddField("assets1", new ContentFieldData() .AddValue("iv", JsonValue.Array(id1.ToString(), id2.ToString()))); var ids = input.GetReferencedIds(schema).ToArray(); Assert.Equal(new[] { id1, id2 }, ids); }
public void LoadData(NamedContentData data, Schema schema, DataConverter converter) { ReferencedIds = data.GetReferencedIds(schema).ToHashSet(); DataByIds = converter.ToMongoModel(data, schema); }
public void LoadData(NamedContentData data, Schema schema, IJsonSerializer serializer) { ReferencedIds = data.GetReferencedIds(schema); DataByIds = data.ToMongoModel(schema, serializer); }
public void LoadData(NamedContentData data, Schema schema, DataConverter converter) { ReferencedIds = data.GetReferencedIds(schema).Select(x => DomainId.Combine(AppId, x)).ToHashSet(); DataByIds = converter.ToMongoModel(data, schema); }