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; }
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 }); }
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); }