Beispiel #1
0
        protected AggregationRootBase(EntitySet set, AggregationConfig config)
        {
            _set    = set;
            _config = config;

            _entityOnPropertyChangingHandler = EntityOnPropertyChanging;
            _entityOnPropertyChangedHandler  = EntityOnPropertyChanged;
        }
        protected AggregationRootBase(EntitySet set, AggregationConfig config)
        {
            _set = set;
            _config = config;

            _entityOnPropertyChangingHandler = EntityOnPropertyChanging;
            _entityOnPropertyChangedHandler = EntityOnPropertyChanged;
        }
Beispiel #3
0
        private static void Dump(IAggregationResult result, EntityMetadata metadata, AggregationConfig config, string filepath)
        {
            using (var writer = new StreamWriter(File.Create(filepath))) {
                writer.Write(String.Join("", Enumerable.Range(0, metadata.KeyCount).Select(i => "Key" + i + ",")));
                writer.WriteLine(String.Join(",", config.Aggregators.Select(a => "\"" + a.Name + "\"")));

                var keys = new int[metadata.KeyCount];
                Dump(writer, result, config, keys, 0);
            }
        }
        public AggregationConfigTest()
        {
            var metadata = new EntityMetadata(1, 3);

            _property0 = metadata.Properties[0];
            _property1 = metadata.Properties[1];
            _property2 = metadata.Properties[2];

            _aggregatorConfig0 = new WgtAvgPropertyAggregatorConfig(0, _property0, _property1);
            _aggregatorConfig1 = new WgtAvgPropertyAggregatorConfig(1, _property1, _property2);
            _aggregatorConfig2 = new WgtAvgPropertyAggregatorConfig(2, _property0, _property2);

            _config = new AggregationConfig(metadata, new[] { _aggregatorConfig0, _aggregatorConfig1, _aggregatorConfig2 });
        }
Beispiel #5
0
        private static void Dump(TextWriter writer, IAggregationResult result, AggregationConfig config, int[] keys, int level)
        {
            for (var i = 0; i < keys.Length; i++) {
                if (i < level) {
                    writer.Write(keys[i] + ",");
                }
                else {
                    writer.Write("-,");
                }
            }

            writer.WriteLine(String.Join(",", config.Aggregators.Select(a => result.Get(a).ToString(""))));

            foreach (var groupKey in result.Keys.OrderBy(k => k)) {
                keys[level] = groupKey;
                Dump(writer, result.Get(groupKey), config, keys, level + 1);
            }
        }
 public AggregationRoot(EntitySet set, AggregationConfig config, EntityMetadata metadata)
     : base(set, config)
 {
     _result = new AggregationResult(metadata, config, 0);
 }