public void UpdateBusStopsFromApi() { try { if (Coordinate.Latitude != null && Coordinate.Longitude != null) { BusStops = BusApi.GetTopReultsForCoordinate(Coordinate, 5); } else { BusStops = BusApi.GetTopReultsForPostcode(PostCode, 5); } } catch { } }
public override bool TryFind(BusSearchParameters searchParameters, Credentials?credentialsForOrder, ref string goodResultMessage) { Station from; Station to; if (searchParameters.FromStation == PageViewModels.Station.Minsk) { from = BusApi.MinskStation; to = BusApi.StolbtcyStation; } else { from = BusApi.StolbtcyStation; to = BusApi.MinskStation; } var requestParameters = new SearchParameters(from, to, searchParameters.Date); if (!BusApi.GetSchedule(in requestParameters, out ReadOnlyCollection <BusInfo> schedule)) { throw new NotImplementedException(); } List <BusInfo> filteredBuses = FilteredBuses(schedule, searchParameters); if (filteredBuses.Count == 0) { return(false); } if (!credentialsForOrder.HasValue) { goodResultMessage = $"Was found at: {DateTime.Now.ToLongTimeString()}"; return(true); } Credentials credential = credentialsForOrder.Value; BusInfo targetBus = filteredBuses[filteredBuses.Count / 2]; BusApi.Order(targetBus, from, credential.Login, credential.Password, searchParameters.PassengersCount); goodResultMessage = $"Was ordered for {targetBus.Time.ToShortString()} at: {DateTime.Now.ToLongTimeString()}"; return(true); }
public void Run() { while (true) { Console.Write(">"); string userInput = Console.ReadLine(); try { var closestBusStops = BusApi.GetTopReultsForPostcode(userInput, 5); printTopResults(closestBusStops[0]); printTopResults(closestBusStops[1]); } catch (Exception e) { Console.WriteLine($"Invalid address {e}"); } } }
public override Uri GetSiteUri(BusSearchParameters searchParameters) { SearchParameters requestParameters = ConvertParameters(searchParameters); return(BusApi.GetUrl(requestParameters)); }
public override Uri GetSiteUri(BusSearchParameters searchParameters) => BusApi.GetSiteUri();