コード例 #1
0
ファイル: StatsToHtml.cs プロジェクト: jon-hyland/rpi
 public JItem(JItem parent, string name, JItemType type)
 {
     _parent = parent;
     _name   = name;
     _type   = type;
     _items  = new List <JItem>();
 }
コード例 #2
0
        public void ShowQueryWithDateTimeComparedToParameter(
            IEnumerable <JKeyValuePair> query,
            string[] args, string parameter, CompareType compareType,
            bool key           = true,
            JItemType itemType = JItemType.String)
        {
            if (args.Contains(parameter))
            {
                if (args.Length > (Array.IndexOf(args, parameter) + 1))
                {
                    Console.WriteLine($"Queries with date {compareType} {args[Array.IndexOf(args, parameter) + 1]}");
                    var higherMarks = from JKeyValuePair pair in query
                                      where pair.ContainsDateTimeValue()
                                      select pair;

                    var higherMarksObjects = higherMarks
                                             .Where(p =>
                                                    CompareByMethod(
                                                        p.GetDateTimeValue(),
                                                        DateTime.Parse(args[Array.IndexOf(args, parameter) + 1]),
                                                        compareType)
                                                    )
                                             .Select(x => x.FindContainerOrReturnParent(new JString("Student")));
                    ShowQuery(higherMarksObjects);
                }
            }
        }
コード例 #3
0
        public static JSingleValue Factory(JItemType itemType, string value)
        {
            switch (itemType)
            {
            case JItemType.SingleValue:
                return(new JSingleValue(value));

            case JItemType.String:
                return(new JString(value));
            }
            return(null);
        }
コード例 #4
0
 public void ShowQueryEqualByParameter(
     IEnumerable <JKeyValuePair> query,
     string[] args, string parameter, bool key = true,
     JItemType itemType = JItemType.SingleValue)
 {
     if (args.Contains(parameter))
     {
         if (args.Length > (Array.IndexOf(args, parameter) + 1))
         {
             Console.WriteLine($"Queries with value Equal to {args[Array.IndexOf(args, parameter) + 1]}");
             var student      = new JString("Student");
             var certainQuery = query.Where(x =>
                                            (key ? x.Key : x.Value)
                                            .Equals(JItem.Factory(itemType, args[Array.IndexOf(args, parameter) + 1]))
                                            ).Select(x => x.FindContainerOrReturnParent(student));
             ShowQuery(certainQuery);
         }
     }
 }