public void TestSite(SiteParameters webSite, int interval, bool pingTest) { try { if (webSite != null) { webSite.SurveyTime += TimeSpan.FromTicks(interval * 10000000); if (pingTest) { webSite.IsOnline = PingSite(webSite.SiteName, Parameter.TimeOutSec); } else { webSite.IsOnline = TestSite(webSite.SiteName, Parameter.TimeOutSec); } if (!webSite.IsOnline) { webSite.OffLineTime += TimeSpan.FromTicks(interval * 10000000); } } } catch (Exception ex) { Log.WriteError(ex); } }
public GlobalParameters() { SitesList = new ObservableCollection <SiteParameters>(); ConnectionTest = new SiteParameters(SITE_ONELINE_TEST); Mail = string.Empty; LogLevel = MessageLevel.Information; _pathSiteName = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\MonitoringSite\\"; TimeOutSec = 1; TimeIntervalSec = 10; }
public void ChangdeConnectionStatus(SiteParameters site, bool statusLine) { if (statusLine) { AddEvent("Connection online"); } else { AddEvent("Connection offline"); } }
private void ChangdeOnlineStatus(SiteParameters site, bool statusLine) { if (statusLine) { site.AddEvent("Site offline"); MailSender.SendMailShutdownSite(site.SiteName, Parameter.Mail); } else { site.AddEvent("Site online"); MailSender.SendMailOnlineSite(site.SiteName, Parameter.Mail); } }
public bool AddSite(string name) { bool response = false; if (!Parameter.SitesList.Select(s => s.SiteName).Contains(name)) { lock (Parameter) { SiteParameters siteadded = new SiteParameters(name); siteadded.AddEvent("Adding"); Parameter.ConnectionTest.OnConnectionChanged += siteadded.ChangdeConnectionStatus; siteadded.ChangdeConnectionStatus(null, Parameter.ConnectionTest.IsOnline); Parameter.SitesList.Add(siteadded); response = true; } } return(response); }
public bool RemoveSite(string name) { bool response = false; if (name != string.Empty) { SiteParameters site = Parameter.SitesList.Where(s => s.SiteName == name).FirstOrDefault(); if (Parameter.SitesList.Contains(site)) { lock (Parameter) { Parameter.SitesList.Remove(site); response = true; } } } return(response); }