Exemplo n.º 1
0
        private void GetStopTimes(BusSnapshotInfo status, out StopTimeInfo last, out StopTimeInfo next)
        {
            last = next = null;

            var times = StaticData.GetStopTimesByTripId(status.TripId);

            var stoptimes = new LinkedList<StopTimeInfo>(times.OrderBy(st => st.Sequence));

            if (stoptimes == null || stoptimes.Count == 0)
            {
                return;
            }

            var busTime = status.AdjustedTimestamp;

            LinkedListNode<StopTimeInfo> node = stoptimes.First;

            while(node != null)
            {
                if(busTime < node.Value.Arrival)
                {
                    next = node.Value;
                    break;
                }

                last = node.Value;
                node = node.Next;
            }
        }
Exemplo n.º 2
0
        public Task<Tuple<StopTimeInfo, StopTimeInfo>> GetStopTimes(BusSnapshotInfo status)
        {
            StopTimeInfo last = null;
            StopTimeInfo next = null;

            GetStopTimes(status, out last, out next);

            return Task.FromResult(Tuple.Create(last, next));
        }
        public void HandleSnapshot(BusSnapshotInfo snapshot)
        {
            var eventHubClient = EventHubClient.CreateFromConnectionString(_ehConnectionString, _ehName);

            var snapJson = JsonConvert.SerializeObject(snapshot);

            var data = new EventData(Encoding.UTF8.GetBytes(snapJson));

            eventHubClient.Send(data);

            eventHubClient.Close();
        }
        public async Task UpdateBus(BusSnapshotInfo snapshot)
        {
            var appName = CloudConfigurationManager.GetSetting("sfAppName");
            var svcName = CloudConfigurationManager.GetSetting("sfSvcNameTemplate");

            var trip = ActorProxy.Create<ITrip>(new ActorId(snapshot.TripId), appName, string.Format(svcName, "Trip"));

            var tripInfo = await trip.GetInfo();

            var headsign = tripInfo == null ? string.Format("[{0}]", snapshot.TripId) : tripInfo.Headsign;

            await Clients.Group("mapViews").updateBus(snapshot, headsign);
        }
 public void HandleSnapshot(BusSnapshotInfo snapshot)
 {
     var json = JsonConvert.SerializeObject(snapshot, Formatting.Indented);
     Console.WriteLine(json);
 }