private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            var selectedName = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString();

            if (selectedName != "")
            {
                switch (_gridTypeEnumNow)
                {
                case ViewTypeEnum.JOB:
                    var selectedjob = _jobLogic.appoggio.FirstOrDefault(x => x.name == selectedName);
                    if (selectedjob != null)
                    {
                        var jd = new JobDetail(selectedjob, _jobLogic);
                        _refreshGrid = true;
                        jd.ShowDialog();
                    }

                    break;

                case ViewTypeEnum.TRIGGER:
                    var selectedtrigger = _triggerLogic.appoggio.FirstOrDefault(x => x.name == selectedName);
                    if (selectedtrigger != null)
                    {
                        var td = new TriggerDetail(selectedtrigger, Jobs, _triggerLogic);
                        _refreshGrid = true;
                        td.ShowDialog();
                    }

                    break;
                }
            }
        }
 public static ITrigger CreateCronTrigger(TriggerDetail triggerDetail)
 {
     // cron schedule "0 1 * * * ?"
     return(TriggerBuilder.Create()
            .WithIdentity(triggerDetail.TriggerName, triggerDetail.GroupName)
            .WithCronSchedule(triggerDetail.CronExpression)
            .ForJob(triggerDetail.JobName, triggerDetail.GroupName)
            .Build());
 }
        public static ITrigger CreateTrigger(TriggerDetail triggerDetail)
        {
            switch (triggerDetail.TriggerType)
            {
            case TriggerType.Cron:
                return(CreateCronTrigger(triggerDetail));

            default:
                return(CreateSimpleTrigger(triggerDetail));
            }
        }
 private static ITrigger CreateSimpleTriggerWithIntervalInHours(TriggerDetail triggerDetail)
 {
     return(TriggerBuilder.Create()
            .WithIdentity(triggerDetail.TriggerName, triggerDetail.GroupName)
            .ForJob(triggerDetail.JobName, triggerDetail.GroupName)
            .StartAt(DateTime.UtcNow.AddHours(triggerDetail.Interval))
            .WithSimpleSchedule(x => x
                                .WithIntervalInHours(triggerDetail.Interval)
                                .RepeatForever())
            .Build());
 }
        //Process a complex trigger, using the Trigger object
        public GitHubActions.Trigger ProcessComplexTrigger(AzurePipelines.Trigger trigger)
        {
            if (trigger == null)
            {
                return(null);
            }
            //Note: as of 18-Oct, you receive an error if you try to post both a "branches" and a "ignore-branches", or a "paths and a ignore-paths". You can only have one or the other...
            TriggerDetail push = new TriggerDetail();

            //process branches
            if (trigger.branches != null)
            {
                if (trigger.branches.include != null)
                {
                    push.branches = trigger.branches.include;
                }
                else if (trigger.branches.exclude != null)
                {
                    push.branches_ignore = trigger.branches.exclude;
                }
            }
            //process paths
            if (trigger.paths != null)
            {
                if (trigger.paths.include != null)
                {
                    push.paths = trigger.paths.include;
                }
                if (trigger.paths.exclude != null)
                {
                    push.paths_ignore = trigger.paths.exclude;
                }
            }
            //process tags
            if (trigger.tags != null)
            {
                if (trigger.tags.include != null)
                {
                    push.tags = trigger.tags.include;
                }
                if (trigger.tags.exclude != null)
                {
                    push.tags_ignore = trigger.tags.exclude;
                }
            }

            return(new GitHubActions.Trigger
            {
                push = push
            });
        }
        //process the pull request
        public GitHubActions.Trigger ProcessPullRequest(AzurePipelines.Trigger pr)
        {
            if (pr == null)
            {
                return(null);
            }
            TriggerDetail pullRequest = new TriggerDetail();

            //process branches
            if (pr.branches != null)
            {
                if (pr.branches.include != null)
                {
                    pullRequest.branches = pr.branches.include;
                }
                else if (pr.branches.exclude != null)
                {
                    pullRequest.branches_ignore = pr.branches.exclude;
                }
            }
            //process paths
            if (pr.paths != null)
            {
                if (pr.paths.include != null)
                {
                    pullRequest.paths = pr.paths.include;
                }
                if (pr.paths.exclude != null)
                {
                    pullRequest.paths_ignore = pr.paths.exclude;
                }
            }
            //process tags
            if (pr.tags != null)
            {
                if (pr.tags.include != null)
                {
                    pullRequest.tags = pr.tags.include;
                }
                if (pr.tags.exclude != null)
                {
                    pullRequest.tags_ignore = pr.tags.exclude;
                }
            }

            return(new GitHubActions.Trigger
            {
                pull_request = pullRequest
            });
        }
        public static ROCIndicator Create(double eMA9Day, double eMA12Day, double rOCOnEMA9Day,
                                          Quote market, TriggerDetail triggerDetail)
        {
            var macd = new ROCIndicator()
            {
                ROC14Days     = eMA9Day,
                EMA9Day       = eMA12Day,
                ROCOnEMA9Day  = rOCOnEMA9Day,
                Quote         = market,
                TriggerDetail = triggerDetail
            };

            return(macd);
        }
    // public void OnItemEnter( GameObject itemTarget, string itemName){
    //  Debug.Log("OnItemEnter: " + itemName);
    //  if(itemName == "WaitMoveToPos"){
    //      //Get Main ScriptGame
    //      ScriptGame s = GetScriptGameCache(AutoTileMap_Editor.Instance.Agent.transform);
    //      if(s.Script != null){
    //          s.OnItemEnter( itemTarget, itemName);
    //      }
    //  }
    // }

    public void CallBack_CreateNPC(TriggerDetail detail, int idNpc, GameObject npcTarget, NPC npcData, int tileX, int tileY)
    {
        if (detail.isCreateFromMap)
        {
            if (npcData.StartScript && npcData.IdxStartScript >= 0 && npcData.IdxStartScript < AutoTileMap_Editor.Instance.MapSelect.ScriptData.Count)
            {
                int mapIdx = AutoTileMap_Editor.Instance.MapIdxSelect;
                var script = GetRawScript(mapIdx, npcData.IdxStartScript);
                if (script != null)
                {
                    ScriptGame s = GetScriptGameCache_NPC_Begin(npcTarget, true);
                    s.StartNormal(mapIdx, npcData.IdxStartScript, script, npcTarget);
                }
            }
        }
        else
        {
            ListNpcUsingInMainScript.Add(detail);
        }

        if (npcData.RunScript && npcData.IdxScript >= 0 && npcData.IdxScript < AutoTileMap_Editor.Instance.MapSelect.ScriptData.Count)
        {
            int mapIdx = AutoTileMap_Editor.Instance.MapIdxSelect;
            var script = GetRawScript(mapIdx, npcData.IdxScript);
            if (script != null)
            {
                var interaction = npcTarget.GetComponent <InteractionCheck>();
                if (interaction == null)
                {
                    interaction = npcTarget.AddComponent <InteractionCheck>();
                    interaction.Init();
                }
                var flags = TriggerGame.Instance.ScriptFlag(detail, script);
                if (flags != null)
                {
                    flags.AddEventListener_RemoveByFlag(ScriptGuiBase.ScriptYaml.Key_ShowInteractions, () => {
                        interaction.IsShowInteractions = ScriptGuiBase.ScriptYaml.IsShowInteractions(flags);
                    });
                }
            }
        }

        // Check Wait InteractionNPC
        if (mOnInteractionNPC != null && !string.IsNullOrEmpty(mNPCRefWait) && npcTarget.name.IndexOf(mNPCRefWait) == 0)
        {
            CreateObjInteractionNPC(npcTarget);
        }
    }
        public static ITrigger CreateSimpleTrigger(TriggerDetail triggerDetail)
        {
            switch (triggerDetail.IntervalType)
            {
            case IntervalType.Second:
                return(CreateSimpleTriggerWithIntervalInSeconds(triggerDetail));

            case IntervalType.Minute:
                return(CreateSimpleTriggerWithIntervalInMinutes(triggerDetail));

            case IntervalType.Hour:
                return(CreateSimpleTriggerWithIntervalInHours(triggerDetail));

            default:
                return(CreateSimpleTriggerWithIntervalInSeconds(triggerDetail));
            }
        }
        private void toolStripButtonAdd_Click(object sender, EventArgs e)
        {
            switch (_gridTypeEnumNow)
            {
            case ViewTypeEnum.JOB:
                var job = new JobDetail(null, _jobLogic);
                _refreshGrid = true;
                job.ShowDialog();
                break;

            case ViewTypeEnum.TRIGGER:
                var trig = new TriggerDetail(null, Jobs, _triggerLogic);
                _refreshGrid = true;
                trig.ShowDialog();
                break;
            }
        }
    private ScriptGame GetScriptGameCache(ref Dictionary <string, ScriptGame> _s, TriggerDetail t, bool forceCreate)
    {
        if (_s == null)
        {
            _s = new Dictionary <string, ScriptGame>();
        }
        string key = t.Hash;

        if (_s.ContainsKey(key))
        {
            return(_s[key]);
        }
        if (forceCreate == false)
        {
            return(null);
        }
        var s = new ScriptGame(t);

        _s.Add(key, s);
        return(s);
    }
Exemple #12
0
        public static async Task StartJobScheduler()
        {
            #region Logging
            MethodBase method = MethodBase.GetCurrentMethod();
            MethodName = method.Name;
            #endregion

            WebServer.WebApiLogger?.Verbose(ClassName, MethodName, "Start");
            WebServer.WebApiLogger?.Information(ClassName, MethodName, "Staring Job Schedular");
            await JobScheduler.Start();

            /*-----------------------------------------------------------------------------------------------------------------*/
            var resendFailedPacketJobName     = CreatePrefixFormatedName("Job", "ResendFailedPacket");
            var resendFailedPacketTriggerName = CreatePrefixFormatedName("Trigger", "ResendFailedPacket");
            var resendFailedPacketJobDetail   = JobDetailManager.CreateResendFailedPacketJob(resendFailedPacketJobName, JobDetailManager.Group);

            var resendFailedPacketTriggerDetail = new TriggerDetail
            {
                GroupName      = JobDetailManager.Group,
                CronExpression = "0 0/30 0 ? * * *",
                JobName        = resendFailedPacketJobName,
                TriggerName    = resendFailedPacketTriggerName,
                TriggerType    = TriggerType.Cron
            };

            WebServer.WebApiLogger?.Debug(ClassName, MethodName, string.Format("Trigger Details:\n{0}", JsonConvert.SerializeObject(resendFailedPacketTriggerDetail, Formatting.Indented)));

            var resendFailedPacketTrigger = TriggerFactory.CreateCronTrigger(resendFailedPacketTriggerDetail);

            WebServer.WebApiLogger?.Debug(ClassName, MethodName, string.Format("Trigger:\n{0}", JsonConvert.SerializeObject(resendFailedPacketTrigger, Formatting.Indented)));

            await JobScheduler.ScheduleJob(resendFailedPacketJobDetail, resendFailedPacketTrigger);

            /*-----------------------------------------------------------------------------------------------------------------*/


            WebServer.WebApiLogger?.Verbose(ClassName, MethodName, "End");
        }
Exemple #13
0
 public ScriptGame(TriggerDetail t)
 {
     Detail = t;
     Key    = t.Hash;
 }
Exemple #14
0
    private void DoActionNPC(int scopeIndext, int countStack, ScriptGuiBase.NPCAction npc)
    {
        if (mActionWait != null)
        {
            Debug.LogError("Have mActionWait");
            return;
        }
        mActionWait = null;
        if (npc.Action == ScriptGui.NPCAction.EAction.Show)
        {
            if (npc.UsingNPCTarget)
            {
                if (!OBJTarget)
                {
                    EndAction();
                    InputFieldHelper.Instance.ShowNoti(string.Format("Error at Script ({0}): : Not found NPC on target", IdxScript));
                    return;
                }
                OBJTarget.gameObject.SetActive(true);
                AutoTileMap_Editor.Instance.WarpTo(OBJTarget.transform, npc.x, npc.y);
            }
            else
            {
                TriggerDetail detail = new TriggerDetail()
                {
                    refMap          = IdxMap,
                    typeObj         = eSlotAonTypeObj.Person,
                    refId           = npc.IdNpc,
                    isCreateFromMap = false,
                    x = npc.x,
                    y = npc.y
                };
                if (AutoTileMap_Editor.Instance.ShowNPC(detail) == null)
                {
                    EndAction();
                    return;
                }
            }
            var t = npc.Next;
            NextActionTo(t, countStack + 1);
            return;
        }
        GameObject npcOBJ = GetNPCTarget(npc);

        if (npcOBJ == null)
        {
            if (mIsMain)
            {
                var t = npc.Next;
                NextActionTo(t, countStack + 1);
            }
            else
            {
                EndAction();
            }
            return;
        }
        if (!npcOBJ.activeSelf)
        {
            var t = npc.Next;
            NextActionTo(t, countStack + 1);
            return;
        }
        if (npcOBJ == OBJTarget)
        {
            CLEAR_ALL_ACTION_NPC(npcOBJ);
        }
        else
        {
            if (mIsMain)
            {
                //Pause other NPC
                ScriptGame s_from_npc = TriggerGame.Instance.GetScriptGameCache_NPC_Begin(npcOBJ, false);
                TriggerGame.Instance.AddScriptNeedResume(s_from_npc);
            }
        }
        switch (npc.Action)
        {
        case ScriptGui.NPCAction.EAction.Show:
        {
            // No Check
            break;
        }

        case ScriptGui.NPCAction.EAction.Hide:
        {
            if (npc.UsingNPCTarget == false)
            {
                AutoTileMap_Editor.Instance.RemoveNPC(npc.IdNpc);
            }
            else
            {
                if (OBJTarget != null)
                {
                    OBJTarget.SetActive(false);
                }
            }
            break;
        }

        case ScriptGui.NPCAction.EAction.Move:
        {
            // AutoTileMap_Editor.Instance.AddNPC( npc.IdNpc, npc.x, npc.y, true);
            // GameObject npcOBJ = GetNPCTarget(npc);
            if (npcOBJ != null && npcOBJ.activeSelf)
            {
                mActionWait = npc;
                var high = AutoTileMap_Editor.Instance.MapSelect.GetHighRef(npc.x, npc.y) * 0.5f;
                var to   = new Vector3((0.5f + npc.x) * AutoTileMap_Editor.Instance.CellSize.x, high + 1, -(0.5f + npc.y) * AutoTileMap_Editor.Instance.CellSize.y);
                var c    = npcOBJ.GetComponent <NavMeshAgentCallback>();
                if (c == null)
                {
                    c = npcOBJ.AddComponent <NavMeshAgentCallback>();
                }
                c.WalkTo(1, to, ( NavMeshAgent nav ) => {
                        mActionWait = null;
                        var t       = npc.Next;
                        this.NextActionTo(t, 0);
                    });
            }
            break;
        }

        case ScriptGui.NPCAction.EAction.LookAtCharacter:
        {
            // GameObject npcOBJ = GetNPCTarget(npc);
            if (npcOBJ != null && npcOBJ.activeSelf)
            {
                bool requestLockBack = mIsMain;
                if (NpcLookatMainCallback.InstanceOf(npcOBJ).LookTo(AutoTileMap_Editor.Instance.Agent, requestLockBack, (NpcLookatMainCallback n) => {
                        mActionWait = null;
                        var t = npc.Next;
                        this.NextActionTo(t, 0);
                    }))
                {
                    mActionWait = npc;
                }
                else
                {
                    var t = npc.Next;
                    this.NextActionTo(t, 0);
                }
            }
            break;
        }

        case ScriptGui.NPCAction.EAction.Animation_Talk:
        {
            // GameObject npcOBJ = GetNPCTarget(npc);
            if (npcOBJ != null && npcOBJ.activeSelf)
            {
                var b = npcOBJ.GetComponent <BasicMecanimControl>();
                if (b != null)
                {
                    mActionWait = npc;
                    b.TalkWithAni((BasicMecanimControl bb) => {
                            mActionWait = null;
                            var t       = npc.Next;
                            this.NextActionTo(t, 0);
                        });
                }
            }
            break;
        }

        case ScriptGui.NPCAction.EAction.Animation_Face_Down:
        {
            doNpcFaceTo(npc, new Vector3(0, 0, -1));
            return;
        }

        case ScriptGui.NPCAction.EAction.Animation_Face_Up:
        {
            doNpcFaceTo(npc, new Vector3(0, 0, 1));
            return;
        }

        case ScriptGui.NPCAction.EAction.Animation_Face_Left:
        {
            doNpcFaceTo(npc, new Vector3(-1, 0, 0));
            return;
        }

        case ScriptGui.NPCAction.EAction.Animation_Face_Right:
        {
            doNpcFaceTo(npc, new Vector3(1, 0, 0));
            return;
        }

        default:
        {
            EndAction();
            return;
        }
        }
        if (mActionWait == null)
        {
            var t = npc.Next;
            NextActionTo(t, countStack + 1);
        }
    }
 public ScriptGame GetScriptGameCache_NPC_Ingame(TriggerDetail t, bool forceCreate)
 {
     return(GetScriptGameCache(ref _s_npc_ingame, t, forceCreate));
 }
 public ScriptGame GetScriptGameCache_Script(TriggerDetail t, bool forceCreate)
 {
     return(GetScriptGameCache(ref _s_script, t, forceCreate));
 }
 public ScriptGame GetScriptGameCache_NPC_Begin(TriggerDetail t, bool forceCreate)
 {
     return(GetScriptGameCache(ref _s_npc_begin, t, forceCreate));
 }
 public void SetTriggerDetail(TriggerDetail triggerDetail)
 {
     TriggerDetail = triggerDetail;
 }
Exemple #19
0
        private TriggerBuilder GetTriggerBuilder(JobDetail jd, TriggerDetail td)
        {
            var trigger = TriggerBuilder.Create();

            trigger.WithIdentity(td.TriggerKey, jd.Group);
            trigger.ForJob(jd.JobKey);
            trigger.WithPriority(td.Priority);
            trigger.StartAt(td.StartTime);
            if (td.EndTime != null && !td.EndTime.Equals(DateTime.MinValue))
            {
                trigger.EndAt(td.EndTime);
            }

            switch (td.ScheduleTypeValue.ToLower())
            {
            case "seconds":
                if (td.RepeatInterval > 0)
                {
                    if (td.RepeatCount > 0)
                    {
                        trigger = trigger.WithSimpleSchedule(x => x
                                                             .WithIntervalInSeconds(td.RepeatInterval)
                                                             .WithRepeatCount(td.RepeatCount)
                                                             );
                    }
                    else
                    {
                        trigger = trigger.WithSimpleSchedule(x => x
                                                             .WithIntervalInSeconds(td.RepeatInterval)
                                                             .RepeatForever()
                                                             );
                    }
                }
                else
                {
                    Log.Warn(String.Format("Job {0} was configured with {1} schedule but no Repeat Interval mentioned. Please configure the Repeat Interval correctly !!", jd.JobKey, td.ScheduleType), this);
                }


                Diagnostics.Log.Info(String.Format("ScheduleType {0} and Schedule : {1})", td.ScheduleType, trigger.ToString()), this);

                break;

            case "minutes":
                if (td.RepeatInterval > 0)
                {
                    if (td.RepeatCount > 0)
                    {
                        trigger = trigger.WithSimpleSchedule(x => x
                                                             .WithIntervalInMinutes(td.RepeatInterval)
                                                             .WithRepeatCount(td.RepeatCount)
                                                             );
                    }
                    else
                    {
                        trigger = trigger.WithSimpleSchedule(x => x
                                                             .WithIntervalInMinutes(td.RepeatInterval)
                                                             .RepeatForever()
                                                             );
                    }
                }
                else
                {
                    Log.Warn(String.Format("Job {0} was configured with {1} schedule but no Repeat Interval mentioned. Please configure the Repeat Interval correctly !!", jd.JobKey, td.ScheduleType), this);
                }


                Diagnostics.Log.Info(String.Format("ScheduleType {0} and Schedule : {1})", td.ScheduleType, trigger.ToString()), this);

                break;

            case "hours":
                if (td.RepeatInterval > 0)
                {
                    if (td.RepeatCount > 0)
                    {
                        trigger = trigger.WithSimpleSchedule(x => x
                                                             .WithIntervalInHours(td.RepeatInterval)
                                                             .WithRepeatCount(td.RepeatCount)
                                                             );
                    }
                    else
                    {
                        trigger = trigger.WithSimpleSchedule(x => x
                                                             .WithIntervalInHours(td.RepeatInterval)
                                                             .RepeatForever()
                                                             );
                    }
                }
                else
                {
                    Log.Warn(String.Format("Job {0} was configured with {1} schedule but no Repeat Interval mentioned. Please configure the Repeat Interval correctly !!", jd.JobKey, td.ScheduleType), this);
                }


                Diagnostics.Log.Info(String.Format("ScheduleType {0} and Schedule : {1})", td.ScheduleType, trigger.ToString()), this);

                break;

            case "daily":
                trigger.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(td.StartTime.Hour, td.StartTime.Minute));
                break;

            case "weekly":
                //Convert Sitecore DaysOfWeeks property to System.DaysOfWeek which is understood by Quartz.net
                if (td.DaysOfWeeks != null && td.DaysOfWeeks.Count > 0)
                {
                    System.DayOfWeek[] dayOfWeeks = new System.DayOfWeek[td.DaysOfWeeks.Count];
                    for (int i = 0; i < td.DaysOfWeeks.Count; i++)
                    {
                        dayOfWeeks[i] = (System.DayOfWeek)Enum.Parse(typeof(System.DayOfWeek), td.DaysOfWeeks[i].DayOfWeekValue.ToString());
                    }

                    trigger.WithSchedule(CronScheduleBuilder.AtHourAndMinuteOnGivenDaysOfWeek(td.StartTime.Hour, td.StartTime.Minute, dayOfWeeks));
                }
                else
                {
                    Log.Warn(String.Format("Job {0} was configured with {1} schedule but \"Day of Weeks\" was not set correctly. Please configure the trigger correctly !!", jd.JobKey, td.ScheduleType), this);
                }
                break;

            case "monthly":
                if (td.DayOfMonth > 0)
                {
                    trigger.WithSchedule(CronScheduleBuilder.MonthlyOnDayAndHourAndMinute(td.DayOfMonth, td.StartTime.Hour, td.StartTime.Minute));
                }
                else
                {
                    Log.Warn(String.Format("Job {0} was configured with {1} schedule but \"Day of Month\" was not set correctly. Please configure the trigger correctly !!", jd.JobKey, td.ScheduleType), this);
                }

                break;

            case "custom":
                if (!String.IsNullOrEmpty(td.CronExpression))
                {
                    trigger.WithSchedule(CronScheduleBuilder.CronSchedule(new CronExpression(td.CronExpression)));
                }
                else
                {
                    Log.Warn(String.Format("Job {0} was configured with {1} schedule but \"Cron Expression\" was not set correctly. Please configure the trigger correctly !!", jd.JobKey, td.ScheduleType), this);
                }
                break;
            }


            return(trigger);
        }
 public Flags ScriptFlag(TriggerDetail triggerDetal, ScriptGui.ScriptYaml script)
 {
     return(MapDataAt(triggerDetal.refMap).MapFlag(triggerDetal.Hash, script));
 }
Exemple #21
0
        public List <TriggerDetail> GetTriggersForJob(JobDetail jobDetail)
        {
            Database masterDb = Factory.GetDatabase("master");

            //Get the trigger definitions for this job
            string quartzJobTriggersQuery =
                "fast://" + GetJobDefinitionLocation() + "//*[@@parentid='" + jobDetail.Id + "']//*[@@templateid='" + Common.Constants.TriggerDetailTempalteID + "']";

            Item[] quartzJobTriggers         = masterDb.SelectItems(quartzJobTriggersQuery);
            List <TriggerDetail> lstTriggers = new List <TriggerDetail>();

            if (quartzJobTriggers != null && quartzJobTriggers.Length > 0)
            {
                foreach (Item triggerItem in quartzJobTriggers)
                {
                    TriggerDetail triggerDetail = new TriggerDetail();
                    triggerDetail.Id           = triggerItem.ID.ToString();
                    triggerDetail.ParentItemId = jobDetail.Id;
                    triggerDetail.TriggerKey   = triggerItem["Trigger Key"];
                    if (!String.IsNullOrEmpty(triggerItem.Fields["Start Time"].Value))
                    {
                        triggerDetail.StartTime = ((DateField)triggerItem.Fields["Start Time"]).DateTime;
                    }
                    if (!String.IsNullOrEmpty(triggerItem.Fields["End Time"].Value))
                    {
                        triggerDetail.EndTime = ((DateField)triggerItem.Fields["End Time"]).DateTime;
                    }
                    if (!String.IsNullOrEmpty(triggerItem.Fields["Priority"].Value))
                    {
                        triggerDetail.Priority = int.Parse(triggerItem.Fields["Priority"].Value);
                    }

                    if (!String.IsNullOrEmpty(triggerItem.Fields["Day of Month"].Value))
                    {
                        triggerDetail.DayOfMonth = int.Parse(triggerItem["Day of Month"]);
                    }

                    //if (!String.IsNullOrEmpty(triggerItem.Fields["Repeat Every"].Value))
                    //    triggerDetail.IntervalUnit = triggerItem["Repeat Every"];


                    if (!String.IsNullOrEmpty(triggerItem.Fields["Repeat Interval"].Value))
                    {
                        triggerDetail.RepeatInterval = int.Parse(triggerItem["Repeat Interval"]);
                    }


                    if (!String.IsNullOrEmpty(triggerItem.Fields["Repeat Count"].Value))
                    {
                        triggerDetail.RepeatCount = int.Parse(triggerItem["Repeat Count"]);
                    }

                    if (!String.IsNullOrEmpty(triggerItem.Fields["Schedule Type"].Value))
                    {
                        triggerDetail.ScheduleType = triggerItem.Fields["Schedule Type"].Value;
                    }

                    if (!String.IsNullOrEmpty(triggerItem.Fields["Cron Expression"].Value))
                    {
                        triggerDetail.CronExpression = triggerItem["Cron Expression"];
                    }

                    lstTriggers.Add(triggerDetail);
                } //end for loop for triggers
            }     //end if

            return(lstTriggers);
        }