예제 #1
0
 private void FillTestControl(ScheduleItem item)
 {
     CreateTabControl(ServiceMainSettings.GetConfig().AddinConfigs, item, tabPage3);
 }
예제 #2
0
 /// <summary>
 /// 填充某个模块对应扩展配置项面板
 /// </summary>
 /// <param name="item"></param>
 private void FillExtendConfig(ScheduleItem item)
 {
     CreateTabControl(ServiceMainSettings.GetConfig().ExtendConfigs, item, tabPage2);
 }
예제 #3
0
 private void CreateTabControl(TypeConfigurationCollection configs, ScheduleItem item, TabPage tab)
 {
     tab.Controls.Clear();
     try
     {
         if (configs.ContainsKey(item.Name))
         {
             TypeConfigurationElement typeElement = configs[item.Name];
             UserControl uc = typeElement.CreateInstance() as UserControl;
             if (uc != null)
             {
                 tab.Controls.Clear();
                 uc.Dock = DockStyle.Fill;
                 tab.Controls.Add(uc);
             }
         }
         else
             tabControl1.TabPages.Remove(tab);
     }
     catch (Exception ex)
     {
         MessageBox.Show(string.Format("加载扩展配置控件失败,异常信息:{0}", ex.Message));
         //移除扩展配置项
         tabControl1.TabPages.Remove(tab);
     }
 }
예제 #4
0
        /// <summary>
        /// 在右侧配置编辑区域填充配置信息
        /// </summary>
        /// <param name="item"></param>
        private void FillConfigPanel(ScheduleItem item)
        {
            this.ClearCronSetCtr();
            txtTitle.Text = item.Title;
            txtDescription.Text = item.Description;

            chkActive.Checked = item.Active;
            if (item.IsSimple)
            {
                txtStartTime.Value = item.GetStartTime();

                txtRepeatInterval.Value = item.GetRepeatInterval();
            }
            else
            {
                JobCronTriggerSetting triggerSetCtr = new JobCronTriggerSetting();

                this.pnlEditBox.Controls.Add(triggerSetCtr);
                triggerSetCtr.Dock = DockStyle.Fill;
                triggerSetCtr.BringToFront();
                triggerSetCtr.LoadSetting(item.CronExpression);
            }

            chkActive_CheckedChanged(null, null);

            //填充"扩展配置"页
            FillExtendConfig(item);

            FillTestControl(item);
        }
예제 #5
0
        /// <summary>
        /// 从配置文件中解析全部配置项
        /// </summary>
        private void LoadConfigItems()
        {
            //读取Job定义
            XmlNodeList jobNodes = _root.SelectNodes("//xx:job/xx:job-detail", _nsmsg);
            foreach (XmlNode jobNode in jobNodes)
            {
                string name = this.GetXmlNodeText(jobNode, "xx:name");
                if (string.IsNullOrEmpty(name) == false)
                {
                    string title = GetXmlNodeText(jobNode, "xx:title");
                    string description = GetXmlNodeText(jobNode, "xx:description");
                    ScheduleItem item = new ScheduleItem(name, title, description);

                    XmlNode triggerNode = _root.SelectSingleNode(string.Format("//xx:trigger/xx:simple[xx:job-name=\"{0}\"]", name), _nsmsg);
                    if (triggerNode != null)
                    {
                        item.IsSimple = true;
                        item.StartTime = GetXmlNodeText(triggerNode, "xx:start-time");
                        item.EndTime = GetXmlNodeText(triggerNode, "xx:end-time");
                        item.RepeatCount = GetXmlNodeText(triggerNode, "xx:repeat-count");
                        item.RepeatInterval = GetXmlNodeText(triggerNode, "xx:repeat-interval");
                        this._items.Add(item);
                    }
                    triggerNode = _root.SelectSingleNode(string.Format("//xx:trigger/xx:cron[xx:job-name=\"{0}\"]", name), _nsmsg);
                    if (triggerNode != null)
                    {
                        item.IsSimple = false;
                        item.CronExpression = GetXmlNodeText(triggerNode, "xx:cron-expression");
                        this._items.Add(item);
                    }
                }
            }
        }