Example #1
0
 private async Task <List <BusOperator> > getOperatorCodes()
 {
     using (var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey))
     {
         return(await client.GetBusOperators());
     }
 }
Example #2
0
        private async Task CreateBusStops(BasicGeoposition location)
        {
            positions = new List <BasicGeoposition>();
            NearbyBusStops.Clear();
            var youAreHere = new BusStop(
                location.Latitude, location.Longitude,
                "You are here!", "",
                RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/YouAreHere.png")));

            NearbyBusStops.Add(youAreHere);

            positions.Add(youAreHere.Point);

            using (var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey))
            {
                var response = await client.BusStopsNear(location.Latitude, location.Longitude);

                if (response != null)
                {
                    foreach (var item in response.stops)
                    {
                        var point = new BusStop(item.latitude, item.longitude,
                                                item.name, item.atcocode,
                                                RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/BusPin.png")));
                        NearbyBusStops.Add(point);
                        positions.Add(point.Point);
                    }

                    MapArea = GeoboundingBox.TryCompute(positions);
                    Messenger.Default.Send <GeoboundingBoxMessage>(new GeoboundingBoxMessage(MapArea));
                }
            }
        }
Example #3
0
        private async Task getRouteDetails(BusRouteParameter routeParameters)
        {
            if (routeParameters == null)
            {
                throw new NullReferenceException("routeParameters");
            }

            using (var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey))
            {
                var response = await client.BusRouteTimetable(
                    routeParameters.AtcoCode,
                    routeParameters.Direction,
                    routeParameters.LineName,
                    routeParameters.OperatorCode,
                    routeParameters.DepartureTime
                    );

                if (response == null)
                {
                    await _messageBoxService.ShowAsync(client.LastError, "Transport API error");

                    NavigationService.GoBack();
                }
                else
                {
                    StopsList = response.Stops.ToList();
                }
            }
        }
Example #4
0
        public void TestBusLive()
        {
            var mockHandler = getHandler("BusLiveResponse.json");

            var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey, mockHandler);

            var response = client.BusLive("490000077D").Result;

            Assert.AreEqual(4, response.Departures.Count);
        }
Example #5
0
        public void TestBusOperators()
        {
            var mockHandler = getHandler("BusOperatorsResponse.json");

            var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey, mockHandler);

            var response = client.GetBusOperators().Result;

            Assert.AreEqual(3, response.Count);
        }
Example #6
0
        public void TestBusTimetable()
        {
            var mockHandler = getHandler("BusTimetableTest.json");

            var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey, mockHandler);

            var response = client.BusTimetable("490000077D", new DateTime(2015, 2, 19, 16, 00, 00), false).Result;

            Assert.AreEqual(3, response.Departures["all"].Count);
        }
Example #7
0
        public void TestBusStopsInBoundingBox()
        {
            var mockHandler = getHandler("BusStopsBoundingBoxResponse.json");

            var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey, mockHandler);

            var response = client.BusStopsInBoundingBox(51.5231, -0.10475, 51.51988, -0.10958).Result;

            Assert.AreEqual(7, response.total);
        }
Example #8
0
        public void TestBusStopsNear()
        {
            var mockHandler = getHandler("BusStopNearResponse.json");

            var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey, mockHandler);

            var response = client.BusStopsNear(51.4728, -0.4876).Result;

            Assert.AreEqual(1937, response.total);
        }
Example #9
0
        public void TestErrorResponse()
        {
            var mockHandler = getHandler("ErrorResponse.json");

            var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey, mockHandler);

            var response = client.BusStopsNear(51.4728, -0.4876).Result;

            Assert.IsNull(response);
            Assert.AreEqual("Wibble, wibble. I'm a hatstand.", client.LastError);
        }
Example #10
0
        public void TestBusOperatorsError()
        {
            var client = new TransportApiClient(string.Empty, string.Empty);

            var errorString = "Authorisation failed for app_key  and app_id  with error 'application with id=\"\" was not found' (code 'application_not_found'). See http://transportapi.com for plans and sign-up.";

            var response = client.GetBusOperators().Result;

            Assert.AreEqual(null, response);
            Assert.AreEqual(errorString, client.LastError);
        }
        private async Task getDepartures(BusStopParameter parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            using (var client = new TransportApiClient(ApiCredentials.appId, ApiCredentials.appKey))
            {
                if (!(bool)UseLiveData)
                {
                    var response = await client.BusTimetable(parameters.AtcoCode, DateTime.Now, true);

                    if (response == null)
                    {
                        CommandBarTitle = $"Could not retrieve departures!";
                    }
                    else
                    {
                        CommandBarTitle = $"Next buses from {parameters.StopName}";
                        populateTimetableDepartures(response);
                    }
                }
                else
                {
                    var response = await client.BusLive(parameters.AtcoCode, true, nextBuses : true);

                    if (response == null)
                    {
                        CommandBarTitle = $"Could not retrieve departures!";
                    }
                    else
                    {
                        CommandBarTitle = $"Next buses from {parameters.StopName}";
                        populateLiveDepartures(response);
                    }
                }
            }
        }