예제 #1
0
        private void AddGlobalUI(ConfigData configData)
        {
            KeyValueUI kvUi = new KeyValueUI();

            kvUi.Dock       = DockStyle.Top;
            kvUi.UKey       = configData.KeyVal;
            kvUi.UValue     = configData.ValueVal;
            kvUi.OnChanged += KvUi_OnChanged;
            pnlGlobal.Controls.Add(kvUi);
        }
예제 #2
0
        /// <summary>
        /// 获取全局数据
        /// </summary>
        /// <returns></returns>
        private List <ConfigData> GetGlobalData()
        {
            List <ConfigData> lstConfigs = new List <ConfigData>();

            foreach (Control ctl in pnlGlobal.Controls)
            {
                KeyValueUI kvUi = ctl as KeyValueUI;
                lstConfigs.Add(new ConfigData()
                {
                    ConfigPath = Global_Xml,
                    KeyVal     = kvUi.UKey,
                    ValueVal   = kvUi.UValue,
                    TypeVal    = ConfigType.appSettings
                });
            }

            return(lstConfigs);
        }
예제 #3
0
        private void btnImport_Click(object sender, EventArgs e)
        {
            pnlMain.Controls.Clear();

            foreach (TabPage tab in _addPages)
            {
                tabControls.TabPages.Remove(tab);
            }

            List <DeployData> lstDeployData = deployDataBindingSource.DataSource as List <DeployData>;

            List <ConfigData> lstGlobalData = GetGlobalData();

            foreach (DeployData deployData in lstDeployData)
            {
                List <ConfigData> lstConfigData = new List <ConfigData>();

                if (deployData.Deploy)
                {
                    List <string> lstConfigFiles = new List <string>();
                    //搜索标识
                    foreach (var opt in cklsbFilter.CheckedItems)
                    {
                        string[] files = Directory.GetFiles(deployData.Dirctory, opt.ToString());
                        lstConfigFiles.AddRange(files);
                    }

                    foreach (string filePath in lstConfigFiles)
                    {
                        ConfigReader configReader       = new ConfigReader(filePath);
                        Dictionary <string, string> dic = configReader.ReadConfig(ConfigType.appSettings.ToString(), string.Empty);

                        foreach (KeyValuePair <string, string> kv in dic)
                        {
                            if (!lstGlobalData.Where(t => t.KeyVal == kv.Key).Any())
                            {
                                lstConfigData.Add(new ConfigData()
                                {
                                    ConfigPath = filePath,
                                    KeyVal     = kv.Key,
                                    ValueVal   = kv.Value,
                                    WebName    = deployData.WebName,
                                    TypeVal    = ConfigType.appSettings
                                });
                            }
                        }
                    }

                    if (lstConfigData.Count > 0)
                    {
                        //加配置文件
                        TabPage tabPage = new TabPage(deployData.WebName);
                        Panel   gp      = new Panel();
                        gp.Dock       = DockStyle.Fill;
                        gp.AutoScroll = true;
                        int height = 0;
                        foreach (var item in lstConfigData)
                        {
                            KeyValueUI kvUi = new KeyValueUI();
                            kvUi.Dock   = DockStyle.Top;
                            kvUi.UKey   = item.KeyVal;
                            kvUi.UValue = item.ValueVal;
                            gp.Controls.Add(kvUi);
                            height += kvUi.Height;
                        }
                        gp.Height = height + 30;
                        tabPage.Controls.Add(gp);
                        tabControls.TabPages.Add(tabPage);
                        _addPages.Add(tabPage);
                    }
                }
            }
        }