public async Task <RouteStopForecast> GetRouteStopForecastAsync(RouteStop routeStop) { var bus13RouteStop = routeStop.VendorInfo as Bus13RouteStop; if (bus13RouteStop == null) { int id = 0; int.TryParse(routeStop.Id, out id); bus13RouteStop = new Bus13RouteStop { Id = id, Type = "0" }; } var request = this.GetRequestBase(RouteStopForecastResource); request.AddParameter("sid", bus13RouteStop.Id, ParameterType.QueryString); request.AddParameter("type", bus13RouteStop.Type, ParameterType.QueryString); request.AddParameter(InfoParam, _infoParamValue, ParameterType.QueryString); var client = this.GetRestClient(); var forecast = await this.ExecuteAsync <List <Bus13RouteStopForecastItem> >(client, request) .ConfigureAwait(false); if (forecast != null && forecast.Any()) { return(new RouteStopForecast(routeStop.Id, forecast.Select(this.ParseRouteStopForecast).ToList())); } return(new RouteStopForecast(routeStop.Id, new List <RouteStopForecastItem>())); }
private string GenerateId(Bus13RouteStop sourceStop) { if (sourceStop == null) { return(string.Empty); } return($"{sourceStop.Id}_{sourceStop.Type}"); }
private RouteStop ParseRouteStop(Bus13RouteStop sourceRouteStop) { var routeStop = new RouteStop( this.GenerateId(sourceRouteStop), sourceRouteStop.Name, sourceRouteStop.Descr, this.ParsePoint(sourceRouteStop.Lat, sourceRouteStop.Lng)) { VendorInfo = sourceRouteStop }; return(this.ApplyPostProcessor(routeStop)); }
private RouteStop ParseRouteStop(int id, string name, string description, VehicleTypes vehicleType, GeoPoint location) { var bus13RouteStop = new Bus13RouteStop { Id = id, Name = name, Descr = description, Type = this.ConvertVehicleTypeToTransportType(vehicleType).ToString(), Lat = Convert.ToInt32(location.Latitude * 1000000), Lng = Convert.ToInt32(location.Longitude * 1000000) }; var routeStop = new RouteStop(this.GenerateId(bus13RouteStop), name, description, location) { VendorInfo = bus13RouteStop }; return(this.ApplyPostProcessor(routeStop)); }