Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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;
     }
 }
Exemplo n.º 4
0
        protected virtual void TrafficInfoCompleteEvent(TrafficInfo trafficInfo)
        {
            EventHandler <TrafficInfoEventArgs> handler = OnTrafficInfoComplete;

            if (handler != null)
            {
                handler(this, new TrafficInfoEventArgs(trafficInfo));
            }
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 7
0
 public TrafficInfoEventArgs(TrafficInfo t)
 {
     TrafficInfo = t;
 }