/*--------------------------------------------------------------------------------------------*/
        public override void ConsumePath(ITravPath pPath, Type pToType)
        {
            ITravPathItem item = ConsumeFirstPathItem(pPath, pToType);
            string        op   = ParamAt <string>(item, 0);

            var ev = new CreateFabEventor();

            ev.Type   = (byte)EventorType.Id.Start;           //to make validator happy
            ev.Year   = ParamAt <long>(item, 1);
            ev.Month  = ParamAt <byte>(item, 2);
            ev.Day    = ParamAt <byte>(item, 3);
            ev.Hour   = ParamAt <byte>(item, 4);
            ev.Minute = ParamAt <byte>(item, 5);
            ev.Second = ParamAt <byte>(item, 6);

            var validator = new CreateFabEventorValidator(ev);

            validator.Validate();

            long evDateTime = DataUtil.EventorTimesToLong(
                ev.Year, ev.Month, ev.Day, ev.Hour, ev.Minute, ev.Second);

            pPath.AddScript(
                ".has(" +
                pPath.AddParam(DbName.Vert.Factor.EventorDateTime) + ", " +
                GremlinUtil.GetStandardCompareOperation(op) + ", " +
                pPath.AddParam(evDateTime) +
                ")"
                );
        }
예제 #2
0
        /*--------------------------------------------------------------------------------------------*/
        public static void ValidateFactorEventor(CreateFabEventor pObj)
        {
            bool allow = true;

            allow = ValidateFactorEventorItem(CreateFabEventorValidator.MonthName, pObj.Month, allow);
            allow = ValidateFactorEventorItem(CreateFabEventorValidator.DayName, pObj.Day, allow);
            allow = ValidateFactorEventorItem(CreateFabEventorValidator.HourName, pObj.Hour, allow);
            allow = ValidateFactorEventorItem(CreateFabEventorValidator.MinuteName, pObj.Minute, allow);
            allow = ValidateFactorEventorItem(CreateFabEventorValidator.SecondName, pObj.Second, allow);

            string dateStr = pObj.Year +
                             (pObj.Month == null ? "" : "-" + pObj.Month) +
                             (pObj.Day == null ? "" : "-" + pObj.Day) +
                             (pObj.Hour == null ? "" : " " + pObj.Hour) +
                             (pObj.Minute == null ? "" : ":" + pObj.Minute) +
                             (pObj.Second == null ? "" : ":" + pObj.Second);

            DateTime dt;

            if (!DateTime.TryParse(dateStr, out dt))
            {
                throw new FabPropertyValueFault(
                          typeof(CreateFabEventor).Name + " provides an invalid date/time: " + dateStr);
            }
        }
예제 #3
0
 /*--------------------------------------------------------------------------------------------*/
 private static void FromCreateFabFactorEventor(Factor pDomain, CreateFabEventor pEventor)
 {
     pDomain.EventorDateTime = DataUtil.EventorTimesToLong(pEventor.Year, pEventor.Month,
                                                           pEventor.Day, pEventor.Hour, pEventor.Minute, pEventor.Second);
 }
예제 #4
0
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 public CreateFabEventorValidator(CreateFabEventor pCreateObj) : base(pCreateObj)
 {
     vCreateObj = pCreateObj;
 }