예제 #1
0
        void RegisterDateHandlers()
        {
            var dateHandlers = new List <ComplexHandler>()
            {
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Using <RdnRmnSdHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <RdnRmnOdHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Optional <SeparatorComma>()
                .Required <ScalarYear>()
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorComma>()
                .Required <ScalarYear>()
                .Using <RmnOdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnOdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdHandler>(),
                Handle
                .Required <RepeaterTime>()
                .Optional <IRepeaterDayPortion>()
                .Optional <SeparatorOn>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Using <RmnSdOnHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnOdHandler>(),
                Handle
                .Required <OrdinalDay>()
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <OdRmnSyHandler>(),
                Handle
                .Required <OrdinalDay>()
                .Required <RepeaterMonthName>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <OdRmnHandler>(),
                Handle
                .Required <ScalarYear>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <SyRmnOdHandler>(),
                Handle
                .Required <RepeaterTime>()
                .Optional <IRepeaterDayPortion>()
                .Optional <SeparatorOn>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <RmnOdOnHandler>(),


                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Using <RmnSyHandler>(),

                Handle
                .Required <ScalarDay>()
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SdRmnSyHandler>(),
                Handle
                .Required <ScalarDay>()
                .Required <RepeaterMonthName>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SdRmnHandler>(),
                Handle
                .Required <ScalarYear>()
                .Required <SeparatorDate>()
                .Required <ScalarMonth>()
                .Required <SeparatorDate>()
                .Required <ScalarDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SySmSdHandler>(),


                Handle
                .Required <Scalar>()
                .Required <IRepeater>()
                .Optional <SeparatorComma>()
                .Required <Pointer>()
                .Required(HandlerType.Anchor)
                .Required <SeparatorAt>()
                .Required(HandlerType.Time)
                .Using <SRPAHandler>(),

                Handle
                .Repeat(pattern => pattern
                        .Required <Scalar>()
                        .Required <IRepeater>()
                        .Optional <SeparatorComma>()
                        ).AnyNumberOfTimes()
                .Required <Pointer>()
                .Optional(HandlerType.Anchor)
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <MultiSRHandler>(),

                //Handle
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarDay>()
                //    .Using<SmSdHandler>(),

                //Handle
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarDay>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarYear>()
                //    .Optional<SeparatorAt>()
                //    .Optional(HandlerType.Time)
                //    .Using<SmSdSyHandler>(),
                //Handle
                //    .Required<ScalarDay>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarYear>()
                //    .Optional<SeparatorAt>()
                //    .Optional(HandlerType.Time)
                //    .Using<SdSmSyHandler>(),
            };

            if (Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName == "fr")
            {
                dateHandlers.AddRange(new List <ComplexHandler>()
                {
                    Handle
                    .Required <ScalarDay>()
                    .Required <SeparatorDate>()
                    .Required <ScalarYear>()
                    .Using <SdSmHandler>(),

                    Handle.Required <SeparatorIn>()
                    .Required <Scalar>()
                    .Required <RepeaterHour>()
                    .Optional <Scalar>()
                    .Required <Grabber>()
                    .Required <IRepeater>()
                    .Using <DurationHandler>(),

                    Handle.Optional <SeparatorComma>().Required <SeparatorIn>()
                    .Required <Scalar>()
                    .Required <RepeaterHour>()
                    .Optional <Scalar>()
                    .Required <Grabber>()
                    .Required <IRepeater>()
                    .Using <MultiSrDurationHandler>(),

                    Handle.Optional <SeparatorComma>().Required <SeparatorIn>()
                    .Required <RepeaterTime>()
                    .Required <IRepeaterDayPortion>()
                    .Required <Grabber>()
                    .Required <IRepeater>()
                    .Using <MultiSrDurationHandler>(),

                    Handle
                    .Optional <SeparatorComma>().Required <SeparatorIn>()
                    .Required <RepeaterTime>()
                    .Required <IRepeaterDayPortion>()
                    .Required <Scalar>()
                    .Required <IRepeater>()
                    .Required <Pointer>()
                    .Using <MultiSrDurationHandler>(),

                    Handle
                    .Required <ScalarDay>()
                    .Required <RepeaterMonthName>()
                    .Required <ScalarYear>()
                    .Optional <SeparatorAt>()
                    .Optional <Scalar>()
                    .Optional <RepeaterHour>()
                    .Optional <Scalar>()
                    .Using <FrenchSdRmnSyHandler>(),

                    Handle.Required <Scalar>()
                    .Required <RepeaterHour>()
                    .Optional <Scalar>()
                    .Using <FrenchHourHanlder>(),
                });
            }
            else
            {
                dateHandlers.AddRange(new List <ComplexHandler>()
                {
                    Handle
                    .Required <ScalarMonth>()
                    .Required <SeparatorDate>()
                    .Required <ScalarYear>()
                    .Using <SmSyHandler>(),
                });
            }

            Add(HandlerType.Date, dateHandlers);
        }
예제 #2
0
        void RegisterDateHandlers()
        {
            var dateHandlers = new List <ComplexHandler>()
            {
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Using <RdnRmnSdHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <RdnRmnOdHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Optional <SeparatorComma>()
                .Required <ScalarYear>()
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorComma>()
                .Required <ScalarYear>()
                .Using <RmnOdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnOdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdHandler>(),
                Handle
                .Required <RepeaterTime>()
                .Optional <IRepeaterDayPortion>()
                .Optional <SeparatorOn>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Using <RmnSdOnHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnOdHandler>(),
                Handle
                .Required <OrdinalDay>()
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <OdRmnSyHandler>(),
                Handle
                .Required <OrdinalDay>()
                .Optional <RepeaterMonthName>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <OdRmnHandler>(),
                Handle
                .Required <ScalarYear>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <SyRmnOdHandler>(),
                Handle
                .Required <RepeaterTime>()
                .Optional <IRepeaterDayPortion>()
                .Optional <SeparatorOn>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <RmnOdOnHandler>(),


                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Using <RmnSyHandler>(),

                Handle
                .Required <ScalarDay>()
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SdRmnSyHandler>(),
                Handle
                .Required <ScalarDay>()
                .Required <RepeaterMonthName>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SdRmnHandler>(),
                Handle

                .Required <ScalarYear>()
                .Required <SeparatorDate>()
                .Required <ScalarMonth>()
                .Required <SeparatorDate>()
                .Required <ScalarDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SySmSdHandler>(),


                Handle
                .Required <ScalarMonth>()
                .Required <SeparatorDate>()
                .Required <ScalarYear>()
                .Using <SmSyHandler>(),

                Handle
                .Required <Scalar>()
                .Required <IRepeater>()
                .Optional <SeparatorComma>()
                .Required <Pointer>()
                .Required(HandlerType.Anchor)
                .Required <SeparatorAt>()
                .Required(HandlerType.Time)
                .Using <SRPAHandler>(),

                Handle
                .Repeat(pattern => pattern
                        .Required <Scalar>()
                        .Required <IRepeater>()
                        .Optional <SeparatorComma>()
                        ).AnyNumberOfTimes()
                .Required <Pointer>()
                .Optional(HandlerType.Anchor)
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <MultiSRHandler>(),

                Handle
                .Required <OrdinalDay>()
                .Required <Grabber>()
                .Required <RepeaterMonth>()
                .Using <OrdinalGrabberMonthHandler>()

                //Handle
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarDay>()
                //    .Using<SmSdHandler>(),

                //Handle
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarDay>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarYear>()
                //    .Optional<SeparatorAt>()
                //    .Optional(HandlerType.Time)
                //    .Using<SmSdSyHandler>(),
                //Handle
                //    .Required<ScalarDay>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarYear>()
                //    .Optional<SeparatorAt>()
                //    .Optional(HandlerType.Time)
                //    .Using<SdSmSyHandler>(),
            };

            Add(HandlerType.Date, dateHandlers);
        }