Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }
Ejemplo n.º 3
0
        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;
                    }
                }
            }
        }