Example #1
0
        private ITrainRoute GetTrainRoute(IFavouriteRoute favouriteRoute)
        {
            var routeRepository  = new RouteStopRepository();
            var cachedTrainRoute = routeRepository.Find(favouriteRoute.FromId, favouriteRoute.ToId);

            if (cachedTrainRoute != null)
            {
                return(cachedTrainRoute);
            }
            var stationRoutesQuery = new ApiQuery <Route>(_settingsProvider);
            var routes             = stationRoutesQuery.Query(string.Format("/query/station/{0}", favouriteRoute.FromId));

            foreach (var route in routes)
            {
                var routeQuery = new ApiQuery <TrainRoute>(_settingsProvider);
                var queryUri   = string.Format("/query/date/{0}/route/{1}/from/{2}/to/{3}", route.Date, int.Parse(route.RouteNo),
                                               favouriteRoute.FromId, favouriteRoute.ToId);
                var trainRoutes = routeQuery.Query(queryUri);
                if (trainRoutes.Any())
                {
                    var trainRoute = trainRoutes.First();
                    if (!string.IsNullOrWhiteSpace(trainRoute.FromStation.StationName) &&
                        !string.IsNullOrWhiteSpace(trainRoute.ToStation.StationName))
                    {
                        routeRepository.Add(trainRoute);
                    }
                    return(trainRoute);
                }
            }
            return(null);
        }
 private ITrainRoute GetTrainRoute(IFavouriteRoute favouriteRoute)
 {
     var routeRepository = new RouteStopRepository();
     var cachedTrainRoute = routeRepository.Find(favouriteRoute.FromId, favouriteRoute.ToId);
     if (cachedTrainRoute != null) return cachedTrainRoute;
     var stationRoutesQuery = new ApiQuery<Route>(_settingsProvider);
     var routes = stationRoutesQuery.Query(string.Format("/query/station/{0}", favouriteRoute.FromId));
     foreach (var route in routes)
     {
         var routeQuery = new ApiQuery<TrainRoute>(_settingsProvider);
         var queryUri = string.Format("/query/date/{0}/route/{1}/from/{2}/to/{3}", route.Date, int.Parse(route.RouteNo),
                                      favouriteRoute.FromId, favouriteRoute.ToId);
         var trainRoutes = routeQuery.Query(queryUri);
         if (trainRoutes.Any())
         {
             var trainRoute = trainRoutes.First();
             if (!string.IsNullOrWhiteSpace(trainRoute.FromStation.StationName) &&
                 !string.IsNullOrWhiteSpace(trainRoute.ToStation.StationName))
                 routeRepository.Add(trainRoute);
             return trainRoute;
         }
     }
     return null;
 }
 private List<Station> GetRoutes()
 {
     var apiQuery = new ApiQuery<Station>(_settingsProvider);
     return apiQuery.Query("/query/stations").ToList();
 }
        private List <Station> GetRoutes()
        {
            var apiQuery = new ApiQuery <Station>(_settingsProvider);

            return(apiQuery.Query("/query/stations").ToList());
        }