public static Delays Load() { if (File.Exists(FileName)) { return(JsonConvert.DeserializeObject <Delays>(File.ReadAllText(FileName))); } else { Delays delays = NewInstance(); delays.Save(); return(delays); } }
protected override void OnStart(string[] args) { try { string wsServer = ConfigurationManager.AppSettings["ws-server"]; string stanox = ConfigurationManager.AppSettings["stanox"]; if (string.IsNullOrEmpty(wsServer) || string.IsNullOrEmpty(stanox)) { throw new ArgumentNullException("", "both ws-server and stanox must be set in app.config"); } _statistics = Delays.Load(); if (_statistics.Created.Date < DateTime.Now.Date) { const string start = "Early Departures for {0:dd-MM-yy}:"; var statsByMinute = _statistics.EarlyDepartures.GroupBy(v => v); ICollection <string> values = new List <string>(statsByMinute.Count()); const string format = "{0} mins early:{1}"; foreach (var minutes in statsByMinute) { values.Add(string.Format(format, minutes.Key, minutes.Count())); } SendTweet(string.Concat(string.Format(start, _statistics.Created), string.Join(",", values.ToArray()))); _statistics = Delays.NewInstance(); _statistics.Save(); } double lat, lng; if (double.TryParse(ConfigurationManager.AppSettings["Lat"], out lat) && double.TryParse(ConfigurationManager.AppSettings["Lng"], out lng)) { Latitude = lat; Longitude = lng; } Trace.TraceInformation("Connecting to server on {0}", wsServer); _wsClient = new WebSocketClient(wsServer) { OnReceive = OnReceive, OnDisconnect = OnDisconnect }; _wsClient.Connect(); Trace.TraceInformation("Subscribing to stanox {0}", stanox); _wsClient.Send(string.Format("substanox:{0}", stanox)); } catch (Exception e) { Trace.TraceError("Error starting service: {0}", e); throw; } }
protected override void OnStart(string[] args) { try { string wsServer = ConfigurationManager.AppSettings["ws-server"]; string stanox = ConfigurationManager.AppSettings["stanox"]; if (string.IsNullOrEmpty(wsServer) || string.IsNullOrEmpty(stanox)) throw new ArgumentNullException("", "both ws-server and stanox must be set in app.config"); _statistics = Delays.Load(); if (_statistics.Created.Date < DateTime.Now.Date) { const string start = "Early Departures for {0:dd-MM-yy}:"; var statsByMinute = _statistics.EarlyDepartures.GroupBy(v => v); ICollection<string> values = new List<string>(statsByMinute.Count()); const string format = "{0} mins early:{1}"; foreach (var minutes in statsByMinute) { values.Add(string.Format(format, minutes.Key, minutes.Count())); } SendTweet(string.Concat(string.Format(start, _statistics.Created), string.Join(",", values.ToArray()))); _statistics = Delays.NewInstance(); _statistics.Save(); } double lat, lng; if (double.TryParse(ConfigurationManager.AppSettings["Lat"], out lat) && double.TryParse(ConfigurationManager.AppSettings["Lng"], out lng)) { Latitude = lat; Longitude = lng; } Trace.TraceInformation("Connecting to server on {0}", wsServer); _wsClient = new WebSocketClient(wsServer) { OnReceive = OnReceive, OnDisconnect = OnDisconnect }; _wsClient.Connect(); Trace.TraceInformation("Subscribing to stanox {0}", stanox); _wsClient.Send(string.Format("substanox:{0}", stanox)); } catch (Exception e) { Trace.TraceError("Error starting service: {0}", e); throw; } }