Example #1
0
            private void BuildDescriptors(IShapeTableProvider bindingStrategy, IEnumerable <ShapeAlteration> builtAlterations)
            {
                var alterationSets = builtAlterations.GroupBy(a => a.Feature.Id + a.ShapeType);

                foreach (var alterations in alterationSets)
                {
                    var firstAlteration = alterations.First();

                    var key = bindingStrategy.GetType().Name
                              + firstAlteration.Feature.Id
                              + firstAlteration.ShapeType.ToLower();

                    if (!_shapeDescriptors.ContainsKey(key))
                    {
                        var descriptor = new FeatureShapeDescriptor
                                         (
                            firstAlteration.Feature,
                            firstAlteration.ShapeType
                                         );

                        foreach (var alteration in alterations)
                        {
                            alteration.Alter(descriptor);
                        }

                        _shapeDescriptors[key] = descriptor;
                    }
                }
            }
Example #2
0
        static IEnumerable <ShapeAlteration> GetAlterationBuilders(IShapeTableProvider strategy)
        {
            var builder = new ShapeTableBuilder(null);

            strategy.Discover(builder);
            return(builder.BuildAlterations());
        }
 static IEnumerable<ShapeAlteration> GetAlterationBuilders(IShapeTableProvider strategy) {
     var builder = new ShapeTableBuilder(null);
     strategy.Discover(builder);
     return builder.BuildAlterations();
 }