コード例 #1
0
        public string BuildParse(string parse, DateTime now, DateParserConfig config = null)
        {
            if (config == null)
            {
                config = new DateParserConfig();
            }

            var behavior = new WeekDatesBehavior();
            var result   = behavior.Parse(parse, now, config);

            return(result.HasValue ? result.Value.ToString("yyyy-MM-dd HH:mm:ss") : null);
        }
コード例 #2
0
        private Func <MockItem, bool> BuildQuery(string text)
        {
            var inputStream       = new AntlrInputStream(text);
            var filterLexer       = new FilterLexer(inputStream);
            var commonTokenStream = new CommonTokenStream(filterLexer);
            var filterParser      = new FilterParser(commonTokenStream);
            var context           = filterParser.query();
            var weekParser        = new WeekDatesBehavior();
            var dateParser        = new DateParser(new List <IDateParserBehavior>()
            {
                weekParser
            }, new DateParserConfig());
            var visitor    = new FilterVisitor <MockItem>(dateParser);
            var expression = visitor.Visit(context);

            return(expression.Compile());
        }