public Task ValidateAsync(NamedContentData data) { Guard.NotNull(data, nameof(data)); ValidateUnknownFields(data); var tasks = new List <Task>(); foreach (var field in schema.FieldsByName.Values) { var fieldData = data.GetOrCreate(field.Name, k => new ContentFieldData()); tasks.Add(ValidateFieldAsync(field, fieldData)); } return(Task.WhenAll(tasks)); }
public void Enrich(NamedContentData data) { Guard.NotNull(data, nameof(data)); foreach (var field in schema.Fields) { var fieldData = data.GetOrCreate(field.Name, k => new ContentFieldData()); var fieldPartition = partitionResolver(field.Partitioning); foreach (var partitionItem in fieldPartition) { Enrich(field, fieldData, partitionItem); } if (fieldData.Count > 0) { data[field.Name] = fieldData; } } }
public void Enrich(NamedContentData data) { Guard.NotNull(data); foreach (var field in schema.Fields) { var fieldData = data.GetOrCreate(field.Name, k => new ContentFieldData()); if (fieldData != null) { var partitioning = partitionResolver(field.Partitioning); foreach (var partitionKey in partitioning.AllKeys) { Enrich(field, fieldData, partitionKey); } if (fieldData.Count > 0) { data[field.Name] = fieldData; } } } }