protected override async Task RefreshAsync(bool force, CancellationToken token) { var request = new TripSearchRequest { From = _from, To = Destination }; var response = await _transportService.SearchTripsAsync(request, token); if (response.Status != TransportStatus.Success) { throw new Exception("An error occurred on the server while fetching trips."); } if (!token.IsCancellationRequested) { Trips = response.Trips; } }
public Task <TripSearchResponse> SearchTripsAsync(TripSearchRequest request, CancellationToken cancellationToken) { return(CallAsync <TripSearchRequest, CancellationToken, TripSearchResponse>(x => x.SearchTripsAsync, request, cancellationToken)); }
public Task <TripSearchResponse> SearchTripsAsync(TripSearchRequest request, CancellationToken cancellationToken) { return(Task.FromResult ( new TripSearchResponse { Status = TransportStatus.Success, // from will be EPFL since it's the first above Trips = request.To.Name == "UNIL-Sorge" ? new[] { new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 43, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 13, 44, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 43, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 13, 44, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 55, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 13, 56, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 55, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 13, 56, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 7, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 8, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 7, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 8, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 19, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 20, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 19, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 20, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 31, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 32, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 31, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 32, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 43, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 44, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 43, 0), Arrival = new Station { Name = "UNIL-Sorge" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 44, 0), Line = new Line { Name = "M1" } } } } } // if not UNIL-Sorge, then Flon : new[] { new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 43, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 13, 56, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 43, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 13, 56, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 55, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 8, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 13, 55, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 8, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 7, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 20, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 7, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 20, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 19, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 32, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 19, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 32, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 31, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 44, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 31, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 44, 0), Line = new Line { Name = "M1" } } } }, new Trip { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 43, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 56, 0), Connections = new[] { new Connection { Departure = new Station { Name = "EPFL" }, DepartureTime = new DateTime(2013, 12, 14, 14, 43, 0), Arrival = new Station { Name = "Lausanne-Flon" }, ArrivalTime = new DateTime(2013, 12, 14, 14, 56, 0), Line = new Line { Name = "M1" } } } } } } )); }