示例#1
0
        public static Trigger CreateTrigger(TaskTriggerType triggerType)
        {
            switch (triggerType)
            {
            case TaskTriggerType.Event: return(new EventTrigger());

            case TaskTriggerType.Time: return(new TimeTrigger());

            case TaskTriggerType.Daily: return(new DailyTrigger(1));

            case TaskTriggerType.Weekly: return(new WeeklyTrigger(DaysOfTheWeek.Sunday, 1));

            case TaskTriggerType.Monthly: return(new MonthlyTrigger(1, MonthsOfTheYear.September | MonthsOfTheYear.August | MonthsOfTheYear.July | MonthsOfTheYear.October | MonthsOfTheYear.December | MonthsOfTheYear.November | MonthsOfTheYear.February | MonthsOfTheYear.January | MonthsOfTheYear.March | MonthsOfTheYear.June | MonthsOfTheYear.May | MonthsOfTheYear.April));

            case TaskTriggerType.MonthlyDOW: return(new MonthlyDOWTrigger(DaysOfTheWeek.Sunday, MonthsOfTheYear.September | MonthsOfTheYear.August | MonthsOfTheYear.July | MonthsOfTheYear.October | MonthsOfTheYear.December | MonthsOfTheYear.November | MonthsOfTheYear.February | MonthsOfTheYear.January | MonthsOfTheYear.March | MonthsOfTheYear.June | MonthsOfTheYear.May | MonthsOfTheYear.April, WhichWeek.FirstWeek));

            case TaskTriggerType.Idle: return(new IdleTrigger());

            case TaskTriggerType.Registration: return(new RegistrationTrigger());

            case TaskTriggerType.Boot: return(new BootTrigger());

            case TaskTriggerType.Logon: return(new LogonTrigger());

            case TaskTriggerType.SessionStateChange: return(new SessionStateChangeTrigger());
            }
            return(null);
        }
示例#2
0
 internal Trigger(ITrigger iTrigger)
 {
     _v2Trigger = iTrigger;
     _ttype     = iTrigger.Type;
     if (string.IsNullOrEmpty(_v2Trigger.StartBoundary))
     {
         StartBoundary = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
     }
 }
示例#3
0
 internal Trigger(TaskTriggerType triggerType)
 {
     _ttype = triggerType;
     unboundValues = new Dictionary<string, object>();
     _v1TriggerData.TriggerSize = (ushort)Marshal.SizeOf(typeof(TaskTrigger));
     try { _v1TriggerData.Type = ConvertToV1TriggerType(_ttype); }
     catch { }
     StartBoundary = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
 }
示例#4
0
 internal Trigger(ITrigger iTrigger)
 {
     _v2Trigger = iTrigger;
     _ttype = iTrigger.Type;
     if (string.IsNullOrEmpty(_v2Trigger.StartBoundary))
     {
         StartBoundary = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
     }
 }
示例#5
0
 public Trigger AddNew(TaskTriggerType taskTriggerType)
 {
     if (_v1Task != null)
     {
         ushort num;
         return(Trigger.CreateTrigger(_v1Task.CreateTrigger(out num), Trigger.ConvertToV1TriggerType(taskTriggerType)));
     }
     return(Trigger.CreateTrigger(_v2Coll.Create(taskTriggerType)));
 }
示例#6
0
 internal Trigger(TaskTriggerType triggerType)
 {
     _ttype        = triggerType;
     unboundValues = new Dictionary <string, object>();
     _v1TriggerData.TriggerSize = (ushort)Marshal.SizeOf(typeof(TaskTrigger));
     try { _v1TriggerData.Type = ConvertToV1TriggerType(_ttype); }
     catch { }
     StartBoundary = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
 }
        internal static TaskScheduler.TaskTriggerType ConvertFromV1TriggerType(TaskTriggerType v1Type)
        {
            int v2tt = (int)v1Type + 1;

            if (v2tt > 6)
            {
                v2tt++;
            }
            return((TaskScheduler.TaskTriggerType)v2tt);
        }
示例#8
0
        /// <summary>
        /// Add a new trigger to the collections of triggers for the task.
        /// </summary>
        /// <param name="taskTriggerType">The type of trigger to create.</param>
        /// <returns>A <see cref="Trigger"/> instance of the specified type.</returns>
        public Trigger AddNew(TaskTriggerType taskTriggerType)
        {
            if (v1Task != null)
            {
                ushort idx;
                return(Trigger.CreateTrigger(v1Task.CreateTrigger(out idx), Trigger.ConvertToV1TriggerType(taskTriggerType)));
            }

            return(Trigger.CreateTrigger(v2Coll.Create(taskTriggerType), v2Def));
        }
示例#9
0
        internal static V1Interop.TaskTriggerType ConvertToV1TriggerType(TaskTriggerType type)
        {
            if (type == TaskTriggerType.Registration || type == TaskTriggerType.Event || type == TaskTriggerType.SessionStateChange)
            {
                throw new NotV1SupportedException();
            }
            var num = ((int)type) - 1;

            if (num >= 7)
            {
                num--;
            }
            return((V1Interop.TaskTriggerType)num);
        }
示例#10
0
        /// <summary>
        /// 创建一个任务执行计划对象
        /// </summary>
        /// <param name="id">编号</param>
        /// <returns></returns>
        public static Trigger CreateTrigger(string id = "", TaskTriggerType type = TaskTriggerType.简单)
        {
            id = id.IsNullOrEmpty() ? GenerateTriggerId() : id;
            Trigger trigger = null;

            switch (type)
            {
            case TaskTriggerType.简单:
                trigger = new SimpleTrigger(id);
                break;

            case TaskTriggerType.自定义:
                trigger = new ExpressionTrigger(id);
                break;
            }
            return(trigger);
        }
示例#11
0
 private DeploymentTaskConfig GetMockTaskConfig(
     string name,
     string msg                   = "Hello World",
     bool shouldError             = false,
     bool fatalOnError            = true,
     bool continueOnPreviousError = false,
     TaskTriggerType triggerType  = TaskTriggerType.ANY_STATUS
     )
 {
     return(new DeploymentTaskConfig
     {
         Id = Guid.NewGuid().ToString(),
         TaskTypeId = Providers.DeploymentTasks.Core.MockTask.Definition.Id,
         TaskName = name,
         IsFatalOnError = fatalOnError,
         RunIfLastStepFailed = continueOnPreviousError,
         TaskTrigger = triggerType,
         Parameters = new List <ProviderParameterSetting>
         {
             new ProviderParameterSetting("message", msg),
             new ProviderParameterSetting("throw", shouldError.ToString()),
         }
     });
 }
 public V1Trigger(ITaskTrigger trigger, TaskTriggerType type)
 {
     iTrigger         = trigger;
     triggerData      = trigger.GetTrigger();
     triggerData.Type = type;
 }
示例#13
0
 internal Trigger(ITaskTrigger trigger, TaskTrigger data)
 {
     _v1Trigger = trigger;
     _v1TriggerData = data;
     _ttype = ConvertFromV1TriggerType(data.Type);
 }
示例#14
0
文件: Trigger.cs 项目: hpie/hpie
 internal Trigger(V1Interop.ITaskTrigger trigger, V1Interop.TaskTrigger data)
 {
     v1Trigger = trigger;
     v1TriggerData = data;
     ttype = ConvertFromV1TriggerType(data.Type);
 }
示例#15
0
文件: Trigger.cs 项目: hpie/hpie
 internal Trigger(V2Interop.ITrigger iTrigger)
 {
     v2Trigger = iTrigger;
     this.ttype = iTrigger.Type;
     if (string.IsNullOrEmpty(v2Trigger.StartBoundary))
         this.StartBoundary = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
 }
示例#16
0
 public static Trigger CreateTrigger(TaskTriggerType triggerType)
 {
     switch (triggerType)
     {
         case TaskTriggerType.Event: return new EventTrigger();
         case TaskTriggerType.Time: return new TimeTrigger();
         case TaskTriggerType.Daily: return new DailyTrigger(1);
         case TaskTriggerType.Weekly: return new WeeklyTrigger(DaysOfTheWeek.Sunday, 1);
         case TaskTriggerType.Monthly: return new MonthlyTrigger(1, MonthsOfTheYear.September | MonthsOfTheYear.August | MonthsOfTheYear.July | MonthsOfTheYear.October | MonthsOfTheYear.December | MonthsOfTheYear.November | MonthsOfTheYear.February | MonthsOfTheYear.January | MonthsOfTheYear.March | MonthsOfTheYear.June | MonthsOfTheYear.May | MonthsOfTheYear.April);
         case TaskTriggerType.MonthlyDOW: return new MonthlyDOWTrigger(DaysOfTheWeek.Sunday, MonthsOfTheYear.September | MonthsOfTheYear.August | MonthsOfTheYear.July | MonthsOfTheYear.October | MonthsOfTheYear.December | MonthsOfTheYear.November | MonthsOfTheYear.February | MonthsOfTheYear.January | MonthsOfTheYear.March | MonthsOfTheYear.June | MonthsOfTheYear.May | MonthsOfTheYear.April, WhichWeek.FirstWeek);
         case TaskTriggerType.Idle: return new IdleTrigger();
         case TaskTriggerType.Registration: return new RegistrationTrigger();
         case TaskTriggerType.Boot: return new BootTrigger();
         case TaskTriggerType.Logon: return new LogonTrigger();
         case TaskTriggerType.SessionStateChange: return new SessionStateChangeTrigger();
     }
     return null;
 }
 internal TriggerBuilder(BuilderInfo taskBuilder, TaskTriggerType taskTriggerType)
     : this(taskBuilder)
 {
     TaskDef.Triggers.Add(trigger = Trigger.CreateTrigger(taskTriggerType));
 }
示例#18
0
文件: Trigger.cs 项目: hpie/hpie
 /// <summary>
 /// Creates the specified trigger.
 /// </summary>
 /// <param name="triggerType">Type of the trigger to instantiate.</param>
 /// <returns><see cref="Trigger"/> of specified type.</returns>
 public static Trigger CreateTrigger(TaskTriggerType triggerType)
 {
     switch (triggerType)
     {
         case TaskTriggerType.Boot:
             return new BootTrigger();
         case TaskTriggerType.Daily:
             return new DailyTrigger();
         case TaskTriggerType.Event:
             return new EventTrigger();
         case TaskTriggerType.Idle:
             return new IdleTrigger();
         case TaskTriggerType.Logon:
             return new LogonTrigger();
         case TaskTriggerType.Monthly:
             return new MonthlyTrigger();
         case TaskTriggerType.MonthlyDOW:
             return new MonthlyDOWTrigger();
         case TaskTriggerType.Registration:
             return new RegistrationTrigger();
         case TaskTriggerType.SessionStateChange:
             return new SessionStateChangeTrigger();
         case TaskTriggerType.Time:
             return new TimeTrigger();
         case TaskTriggerType.Weekly:
             return new WeeklyTrigger();
         default:
             break;
     }
     return null;
 }
示例#19
0
文件: Trigger.cs 项目: hpie/hpie
 internal static V1Interop.TaskTriggerType ConvertToV1TriggerType(TaskTriggerType type)
 {
     if (type == TaskTriggerType.Registration || type == TaskTriggerType.Event || type == TaskTriggerType.SessionStateChange)
         throw new NotV1SupportedException();
     int v1tt = (int)type - 1;
     if (v1tt >= 7) v1tt--;
     return (V1Interop.TaskTriggerType)v1tt;
 }
示例#20
0
 internal Trigger(ITaskTrigger trigger, TaskTrigger data)
 {
     _v1Trigger     = trigger;
     _v1TriggerData = data;
     _ttype         = ConvertFromV1TriggerType(data.Type);
 }
 internal TriggerBuilder(BuilderInfo taskBuilder, TaskTriggerType taskTriggerType)
     : this(taskBuilder)
 {
     TaskDef.Triggers.Add(trigger = Trigger.CreateTrigger(taskTriggerType));
 }
示例#22
0
 internal static V1Interop.TaskTriggerType ConvertToV1TriggerType(TaskTriggerType type)
 {
     if (type == TaskTriggerType.Registration || type == TaskTriggerType.Event || type == TaskTriggerType.SessionStateChange)
         throw new NotV1SupportedException();
     var num = ((int)type) - 1;
     if (num >= 7)
         num--;
     return (V1Interop.TaskTriggerType)num;
 }
示例#23
0
文件: Trigger.cs 项目: virmitio/coapp
 internal Trigger(ITaskTrigger trigger, V1.TaskTriggerType type)
 {
     v1Trigger = trigger;
     v1TriggerData = trigger.GetTrigger();
     v1TriggerData.Type = type;
     ttype = ConvertFromV1TriggerType(type);
 }