public static void Initialize(SenaVMSContext context) { context.Database.EnsureCreated(); //look for trafficinfos if (context.TrafficInfos.Any()) { return; //db has been seeded } var trafficInfos = new TrafficInfo[] { new TrafficInfo { InfoProviderID = 1, Board = "1", Event = "1", TravelTime = "32", PointA = "VZ001", PointB = "TIMES SQUARE", NowDateTime = DateTime.Now }, new TrafficInfo { InfoProviderID = 2, Board = "1", Event = "1", TravelTime = "18", PointA = "VZ001", PointB = "MID VALLEY", NowDateTime = DateTime.Now }, new TrafficInfo { InfoProviderID = 1, Board = "2", Event = "1", TravelTime = "42", PointA = "VZ002", PointB = "LOT 10", NowDateTime = DateTime.Now }, new TrafficInfo { InfoProviderID = 2, Board = "2", Event = "1", TravelTime = "8", PointA = "VZ002", PointB = "FAHRENHEIT88", NowDateTime = DateTime.Now } }; foreach (TrafficInfo t in trafficInfos) { context.TrafficInfos.Add(t); } context.SaveChanges(); }
public override TrafficInfo GetTrafficInfoStep(string serviceId) { string webResponse = WebClient.DownloadString(webTrafficUrl + serviceId); WaitTrafficInfoReadyWebService(serviceId, ref webResponse); string trafficData = Regex.Match(webResponse, "<div class=[\"']miData[\"']>.*?</div>", RegexOptions.Singleline) .Value; Match m = Regex.Match(trafficData, "(<div class=[\"']miData[\"']>[^>]*<p.*?>)([0-9, BKMG]*)(<.*?/p.*?>[^>]*<p.*?>)([0-9, BKMG]*)(<.*?/p.*?>)"); string sDownloaded = m.Groups[2].Value; string sUploaded = m.Groups[4].Value; float iDownloaded, iUploaded; float.TryParse(Regex.Replace(sDownloaded, "[a-z A-z]", ""), out iDownloaded); float.TryParse(Regex.Replace(sUploaded, "[a-z A-z]", ""), out iUploaded); TrafficInfo retVal = new TrafficInfo { Downloaded = sDownloaded, Uploaded = sUploaded, Total = (iDownloaded + iUploaded).ToString() }; return(retVal); }
private void appendTrafficInfo(TrafficInfo trafficInfo) { if (trafficInfo != null) { lblResponse.Text += "D:" + trafficInfo.Downloaded + Environment.NewLine; lblResponse.Text += "U:" + trafficInfo.Uploaded + Environment.NewLine; lblResponse.Text += "T:" + trafficInfo.Total + Environment.NewLine; } }
protected virtual void TrafficInfoCompleteEvent(TrafficInfo trafficInfo) { EventHandler <TrafficInfoEventArgs> handler = OnTrafficInfoComplete; if (handler != null) { handler(this, new TrafficInfoEventArgs(trafficInfo)); } }
public override TrafficInfo GetTrafficInfoStep(string serviceId) { ActionStartEvent(new ActionEventArgs("GetTrafficInfo", "Getting traffic info...")); if (AbortAction) { ActionEndEvent(new ActionEventArgs("GetTrafficInfo", "Aborted")); AbortAction = false; return(null); } checkTrafficInfoCount = 1; string webResponse = WebClient.DownloadString(webTrafficUrl + serviceId); //webResponse = Encoding.GetEncoding(1250).GetEncoder().enc if (webResponse.Contains("Učitavam podatke")) { //WaitTrafficInfoReadyWebService(serviceId, ref webResponse); WaitTrafficInfoReadyWebService(serviceId, ref webResponse); } webResponse = WebClient.DownloadString(webTrafficUrl + serviceId); ActionEndEvent(new ActionEventArgs("GetTrafficInfo", "Done")); ActionStartEvent(new ActionEventArgs("GetTrafficInfo", "Parsing traffic data...")); string trafficData = Regex.Match(webResponse, "<table.*?>.+?</table>", RegexOptions.Singleline).Value; Match m = Regex.Match(trafficData, "(Ostvareno za.*?<td.*?>)(.*?)(</.*?<td>)(.*?)(</)(.*?)(Ukupni promet.*?<td.*?><b>)(.*?)(</)", RegexOptions.Singleline); string downloaded = m.Groups[2].Value; string uploaded = m.Groups[4].Value; string total = m.Groups[8].Value; TrafficInfo retVal = new TrafficInfo { Downloaded = downloaded, Uploaded = uploaded, Total = total }; ActionEndEvent(new ActionEventArgs("GetTrafficInfo", "Done")); return(retVal); }
public static async Task <IActionResult> Traffic( [HttpTrigger(AuthorizationLevel.Anonymous, "post")] TrafficRaw message, [SignalR(HubName = "simulator")] IAsyncCollector <SignalRMessage> signalRMessages) { var ti = new TrafficInfo(); ti.EndpointLabel = Environment.GetEnvironmentVariable("EndpointLabel"); ti.Endpoint = Environment.GetEnvironmentVariable("Endpoint"); // A B or C ti.Source = message.Source; ti.Style = message.Style; ti.Ticks = DateTime.UtcNow.Ticks; await signalRMessages.AddAsync( new SignalRMessage { Target = "ReceiveTrafficData", Arguments = new[] { ti } }); return(new OkResult()); }
public TrafficInfoEventArgs(TrafficInfo t) { TrafficInfo = t; }