Exemple #1
0
        private TagPlan <T> buildPlan(TagSubject <T> subject)
        {
            var sets    = setsFor(subject.Profile);
            var builder = sets.SelectMany(x => x.Builders).FirstOrDefault(x => x.Matches(subject.Subject));

            if (builder == null)
            {
                throw new ArgumentOutOfRangeException("Unable to select a TagBuilder for subject " + subject);
            }

            var modifiers = sets.SelectMany(x => x.Modifiers).Where(x => x.Matches(subject.Subject));

            return(new TagPlan <T>(builder, modifiers));
        }
Exemple #2
0
        private TagPlan BuildPlan(TagSubject subject)
        {
            var sets = SetsFor(subject.Profile).ToList();
            var policy = sets.SelectMany(x => x.Policies).FirstOrDefault(x => x.Matches(subject.Subject));
            if (policy == null)
            {
                throw new ArgumentOutOfRangeException("Unable to select a TagBuilderPolicy for subject " + subject);
            }

            var builder = policy.BuilderFor(subject.Subject);

            var modifiers = sets.SelectMany(x => x.Modifiers).Where(x => x.Matches(subject.Subject));

            var elementNamingConvention = sets.Select(x => x.ElementNamingConvention).FirstOrDefault();

            return new TagPlan(builder, modifiers, elementNamingConvention);
        }
Exemple #3
0
        private TagPlan BuildPlan(TagSubject subject)
        {
            var sets   = SetsFor(subject.Profile).ToList();
            var policy = sets.SelectMany(x => x.Policies).FirstOrDefault(x => x.Matches(subject.Subject));

            if (policy == null)
            {
                throw new ArgumentOutOfRangeException("Unable to select a TagBuilderPolicy for subject " + subject);
            }

            var builder = policy.BuilderFor(subject.Subject);

            var modifiers = sets.SelectMany(x => x.Modifiers).Where(x => x.Matches(subject.Subject));

            var elementNamingConvention = sets.Select(x => x.ElementNamingConvention).FirstOrDefault();

            return(new TagPlan(builder, modifiers, elementNamingConvention));
        }
Exemple #4
0
        public TagPlan PlanFor(ElementRequest request, string profile = null)
        {
            var subject = new TagSubject(profile, request);

            return(BuildPlan(subject));
        }
Exemple #5
0
 public TagPlan PlanFor(ElementRequest request, string profile = null)
 {
     var subject = new TagSubject(profile, request);
     return _plans[subject];
 }
Exemple #6
0
        public TagPlan PlanFor(ElementRequest request, string profile = null)
        {
            var subject = new TagSubject(profile, request);

            return(_plans[subject]);
        }
        public TagPlan <T> PlanFor(T request, string profile = null)
        {
            var subject = new TagSubject <T>(profile, request);

            return(_plans[subject]);
        }