AIValidationError AIValidation(AI_Information info) { Dictionary<string, AI_Information>.ValueCollection tot = eithers.Values; foreach (AI_Information either in tot) { if (info.ServerName.Equals(either.ServerName)) return AIValidationError.ServerName; if (info.URL.Equals(either.URL)) return AIValidationError.URL; } if (!info.GetLinked()) return AIValidationError.Link; return AIValidationError.None; }
void AIInsert(AI_Information info) { XmlDocument doc = new XmlDocument(); doc.Load("AIConfig.xml"); XmlNode root = doc.SelectSingleNode("Root"); XmlElement ep = doc.CreateElement("EndPoint"); XmlElement ele; ele = doc.CreateElement("ServerName"); ele.InnerText = info.ServerName; ep.AppendChild(ele); ele = doc.CreateElement("URL"); ele.InnerText = info.URL; ep.AppendChild(ele); ele = doc.CreateElement("Type"); ele.InnerText = info.Type.ToString(); ep.AppendChild(ele); ele = doc.CreateElement("Level"); ele.InnerText = info.Level.ToString(); ep.AppendChild(ele); root.AppendChild(ep); doc.Save("AIConfig.xml"); }
private void AIReload() { eithers = new Dictionary<string, AI_Information>(); whites = new Dictionary<string, AI_Information>(); blacks = new Dictionary<string, AI_Information>(); XmlDocument doc = new XmlDocument(); doc.Load("AIConfig.xml"); XmlNodeList eps = doc.SelectSingleNode("Root").ChildNodes; foreach (XmlNode ep in eps) { AI_Information info = new AI_Information(); XmlNode ele; ele = ep.SelectSingleNode("ServerName"); info.ServerName = ele.InnerText; ele = ep.SelectSingleNode("URL"); info.URL = ele.InnerText; ele = ep.SelectSingleNode("Type"); for (int i = 0; i < AI_Information.AITypeStr.Length; ++i) if (AI_Information.AITypeStr[i] == ele.InnerText[0]) info.Type = (AIType)i; if (AIValidation(info) == AIValidationError.None) { eithers.Add(info.ServerName, info); if (info.Type != AIType.Black) whites.Add(info.ServerName, info); if (info.Type != AIType.White) blacks.Add(info.ServerName, info); } ele = ep.SelectSingleNode("Level"); info.Level = int.Parse(ele.InnerText); } WhiteComboBox.Items.Clear(); foreach (string info in whites.Keys) { ComboBoxItem item = new ComboBoxItem(); item.Content = info; WhiteComboBox.Items.Insert(WhiteComboBox.Items.Count, item); } BlackComboBox.Items.Clear(); foreach (string info in blacks.Keys) { ComboBoxItem item = new ComboBoxItem(); item.Content = info; BlackComboBox.Items.Insert(BlackComboBox.Items.Count, item); } }
private void NewAI_Click(object sender, RoutedEventArgs e) { AI_Information info = new AI_Information(); NewAIWindow window = new NewAIWindow(info); window.ShowDialog(); AIValidationError err = AIValidationError.None; if ((bool)window.DialogResult && (err = AIValidation(info)) == AIValidationError.None) { AIInsert(info); AIReload(); } else switch (err) { case AIValidationError.ServerName: MessageBox.Show("The server name is already used!"); break; case AIValidationError.URL: MessageBox.Show("The URL is already used!"); break; case AIValidationError.Link: MessageBox.Show("Cannot contact with the service, please re-check the URL"); break; } }