private void LoadConfig() { XmlDocument xmlDocument = new XmlDocument(); try { _failedToGetIP = false; xmlDocument.Load(@"IPCheck.xml"); XmlNode root = xmlDocument.SelectSingleNode("Settings"); XmlNode GlobalSettings = root.SelectSingleNode("GlobalSettings"); _getIPSiteOne = GlobalSettings.Attributes.GetNamedItem("IPWebSite").Value; _getIPSiteTwo = GlobalSettings.Attributes.GetNamedItem("AltIPWebSite").Value; _checkTime = 60000 * Convert.ToInt32(GlobalSettings.Attributes.GetNamedItem("CheckTime").Value); _doLog = Convert.ToBoolean(Convert.ToInt32(GlobalSettings.Attributes.GetNamedItem("Logging").Value)); string ips = GlobalSettings.Attributes.GetNamedItem("ExcludeIPs").Value; string[] ipAddresses = ips.Split(','); _excludedIPAddresses = new IPAddress[ipAddresses.Length]; int index = 0; foreach (string ipAddress in ipAddresses) { _excludedIPAddresses[index] = IPAddress.Parse(ipAddress); ++index; } XmlNode emailSettings = root.SelectSingleNode("EmailSettings"); _doEmailNotification = Convert.ToBoolean(Convert.ToInt32(emailSettings.Attributes.GetNamedItem("SendEmail").Value)); _emailAddress = emailSettings.Attributes.GetNamedItem("EmailAddress").Value; _smtpAddress = emailSettings.Attributes.GetNamedItem("smtpHost").Value; _smtpUserName = emailSettings.Attributes.GetNamedItem("smtpUserName").Value; _smtpPassWord = emailSettings.Attributes.GetNamedItem("smtpPassword").Value; _lastSentIPAddress = IPAddress.Parse(emailSettings.Attributes.GetNamedItem("CurrentIP").Value); XmlNode sites = root.SelectSingleNode("SiteSettings"); _sitesToCheck = new CheckSite[sites.SelectNodes("Site").Count]; index = 0; foreach (XmlNode site in sites) { _sitesToCheck[index] = new CheckSite(); _sitesToCheck[index].HostName = site.Attributes.GetNamedItem("Host").Value; _sitesToCheck[index].User = site.Attributes.GetNamedItem("User").Value; _sitesToCheck[index].Password = site.Attributes.GetNamedItem("Password").Value; _sitesToCheck[index].IpAddresses = IPAddress.Parse(site.Attributes.GetNamedItem("IPAddress").Value); _sitesToCheck[index].Disabled = Convert.ToBoolean(Convert.ToInt32(site.Attributes.GetNamedItem("Disabled").Value)); ++index; } } catch (Exception exception) { _doLog = true; Log(string.Format("Error loading Configuration : {0}", exception.Message)); } }
private void DisableConfig(CheckSite site) { XmlDocument xmlDocument = new XmlDocument(); try { xmlDocument.Load(@"IPCheck.xml"); XmlNode root = xmlDocument.SelectSingleNode("Settings"); XmlNode sites = root.SelectSingleNode("SiteSettings"); foreach (XmlNode nsite in sites) { if (string.Compare(site.HostName, nsite.Attributes.GetNamedItem("Host").Value, StringComparison.OrdinalIgnoreCase) == 0) { nsite.Attributes.GetNamedItem("Disabled").Value = "1"; } } xmlDocument.Save(@"IPCheck.xml"); } catch (Exception exception) { Log("Error updating Configuration : " + exception.Message); } }
private void UpdateConfig(CheckSite site) { XmlDocument xmlDocument = new XmlDocument(); try { xmlDocument.Load(@"IPCheck.xml"); XmlNode root = xmlDocument.SelectSingleNode("Settings"); XmlNode sites = root.SelectSingleNode("SiteSettings"); foreach (XmlNode siteNode in sites) { if (string.Compare(site.HostName, siteNode.Attributes.GetNamedItem("Host").Value, StringComparison.OrdinalIgnoreCase) == 0) { siteNode.Attributes.GetNamedItem("IPAddress").Value = site.IpAddresses.ToString(); } } xmlDocument.Save(@"IPCheck.xml"); } catch (Exception exception) { Log(string.Format("Error updating Configuration : {0}", exception.Message)); } }