private ADGSAppConfig() { XmlDocument xdoc = new XmlDocument(); xdoc.Load(ConfigXmlPath); this.AppIdentifier = xdoc.SelectSingleNode("root/AppIdentifier").InnerText; this.SelfConnStr = xdoc.SelectSingleNode("root/SelfConnStr").InnerText; this.GrabInterval = Convert.ToInt32(xdoc.SelectSingleNode("root/GrabInterval").InnerText); this.OracleKeywords = xdoc.SelectSingleNode("root/OracleKeywords").InnerText; this.Startup = (xdoc.SelectSingleNode("root/Startup").InnerText.ToLower() == "true"); foreach (XmlNode xNode in xdoc.SelectNodes("/root/Instruments/*")) { if (xNode.Name == "ByoGraber") { ByoGraber byoGraber = new ByoGraber(); foreach (XmlNode xnParam in xNode.SelectNodes("Param")) { byoGraber.Parameters.Add(xnParam.Attributes["Key"].Value, xnParam.Attributes["Value"].Value); } this.AssayGrabers.Add(byoGraber); } else if (xNode.Name == "CustomGraber") { // 提取类 string gaberType = xNode.SelectSingleNode("Param[@Key='GaberType']").Attributes["Value"].Value; AssayGraber customGraber = (AssayGraber)Assembly.GetExecutingAssembly().CreateInstance(gaberType, false, BindingFlags.Default, null, null, null, null); if (customGraber == null) { continue; } foreach (XmlNode xnParam in xNode.SelectNodes("Param")) { customGraber.Parameters.Add(xnParam.Attributes["Key"].Value, xnParam.Attributes["Value"].Value); } this.AssayGrabers.Add(customGraber); } } }
private void sysGraber_CheckedChanged(object sender, EventArgs e) { if (sysGraber.Checked) { ddlDbType.Enabled = true; txtGaberType.Text = String.Empty; txtGaberType.Enabled = false; txtDayRange.Enabled = false; txtSQL.Enabled = true; if (this.Instruments.SelectedValue == null) { return; } AssayGraber grab = (AssayGraber)this.Instruments.SelectedValue; if (grab == null) { return; } KeyValuePair <String, String> kp = new KeyValuePair <string, string>(); kp = grab.Parameters.Where(a => a.Key == "DbType").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { ddlDbType.SelectedIndex = ddlDbType.Items.IndexOf(kp.Value); } kp = grab.Parameters.Where(a => a.Key == "SQL").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { txtSQL.Text = kp.Value; } } if (selfDefineGraber.Checked) { txtGaberType.Enabled = true; txtSQL.Text = String.Empty; ddlDbType.SelectedValue = null; txtSQL.Enabled = false; ddlDbType.Enabled = false; if (this.Instruments.SelectedValue == null) { return; } AssayGraber grab = (AssayGraber)this.Instruments.SelectedValue; if (grab == null) { return; } KeyValuePair <String, String> kp = new KeyValuePair <string, string>(); kp = grab.Parameters.Where(a => a.Key == "GaberType").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { txtGaberType.Text = kp.Value; } txtDayRange.Enabled = true; kp = grab.Parameters.Where(a => a.Key == "DayRange").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { txtDayRange.Text = kp.Value; } } }
private void Instruments_SelectedIndexChanged(object sender, EventArgs e) { AssayGraber grab = (AssayGraber)this.Instruments.SelectedValue; if (grab == null) { return; } if (grab.MachineCode == "→点击新增化验设备←") { sysGraber.Checked = true; selfDefineGraber.Checked = false; txtMachineCode.Text = String.Empty; txtTableName.Text = String.Empty; txtPrimaryKeys.Text = String.Empty; txtConnStr.Text = String.Empty; ddlDbType.Enabled = true; txtSQL.Enabled = true; txtSQL.Text = String.Empty; ckEnabled.Checked = true; txtGaberType.Text = string.Empty; txtGaberType.Enabled = false; txtDayRange.Enabled = false; return; } if (grab.Parameters.ContainsKey("GaberType")) { #region 自定义抓取 sysGraber.Checked = false; selfDefineGraber.Checked = true; txtGaberType.Enabled = true; KeyValuePair <String, String> kp = new KeyValuePair <string, string>(); kp = grab.Parameters.Where(a => a.Key == "GaberType").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { txtGaberType.Text = kp.Value; } txtDayRange.Enabled = true; kp = grab.Parameters.Where(a => a.Key == "DayRange").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { txtDayRange.Text = kp.Value; } txtSQL.Text = String.Empty; ddlDbType.SelectedValue = null; txtSQL.Enabled = false; ddlDbType.Enabled = false; #endregion } else { #region 系统内置抓取 sysGraber.Checked = true; selfDefineGraber.Checked = false; ddlDbType.Enabled = true; KeyValuePair <String, String> kp = new KeyValuePair <string, string>(); kp = grab.Parameters.Where(a => a.Key == "DbType").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { ddlDbType.SelectedIndex = ddlDbType.Items.IndexOf(kp.Value); } txtSQL.Enabled = true; kp = grab.Parameters.Where(a => a.Key == "SQL").FirstOrDefault(); if (!String.IsNullOrWhiteSpace(kp.Key)) { txtSQL.Text = kp.Value; } txtGaberType.Text = String.Empty; txtGaberType.Enabled = false; txtDayRange.Enabled = false; #endregion } txtMachineCode.Text = grab.MachineCode; txtTableName.Text = grab.TableName; txtPrimaryKeys.Text = grab.PrimaryKeys; txtConnStr.Text = grab.ConnStr; ckEnabled.Checked = grab.Enabled; }