Esempio n. 1
0
        public PP End()
        {
            var keys = new List <T>();

            Privous.AddSubConcat((sb, p) => {
                foreach (var pair in Cases)
                {
                    foreach (var concat in pair.Value)
                    {
                        if (Selector(p).Equals(pair.Key))
                        {
                            keys.Add(pair.Key);
                            concat(sb, pair.Key);
                        }
                    }
                }
            });


            if (Defaults.Any())
            {
                Privous.AddSubConcat((sb, p) => {
                    if (keys.Count == Cases.Sum(pair => pair.Value.Count()))
                    {
                        foreach (var concat in Defaults)
                        {
                            concat(sb, default(T));
                        }
                    }
                });
            }
            return(Privous as PP);
        }
Esempio n. 2
0
        public PP End()
        {
            var list    = List;
            var concats = Concats;

            Privous.AddSubConcat((sb, p) => {
                foreach (var item in list)
                {
                    var currentItem = item;
                    foreach (var concat in concats)
                    {
                        var currentConncat = concat;
                        currentConncat(sb, currentItem);
                    }
                }
            });
            return(Privous as PP);
        }
Esempio n. 3
0
        public PP End()
        {
            Privous.AddSubConcat((sb, p) => {
                foreach (var concat in Concats)
                {
                    if (Selector != null)
                    {
                        concat(sb, Selector(p));
                    }
                    else
                    {
                        concat(sb, default(T));
                    }
                }
            });

            return(Privous as PP);
        }
Esempio n. 4
0
 public PP End()
 {
     Privous.AddSubConcat((sb, p) => {
         var v = Selector(p);
         if (v.Equals(Value))
         {
             foreach (var concat in Ifs)
             {
                 concat(sb, v);
             }
         }
         else
         {
             foreach (var concat in Elses)
             {
                 concat(sb, v);
             }
         }
     });
     return(Privous as PP);
 }