public async Task <IEnumerable <Route> > GetRoutes(RoutesFilterQuery query) { var routes = (await _routesWebRepository.GetRoutes(query)).ToList(); foreach (var route in routes) { MarkUserRoute(route); } return(routes); }
public async Task <IEnumerable <Route> > GetRoutes(RoutesFilterQuery query) { var httpClientQuery = HttpUtility.ParseQueryString(string.Empty); httpClientQuery[nameof(query.RouteLengthFrom)] = query.RouteLengthFrom.ToString(); httpClientQuery[nameof(query.RouteLengthTo)] = query.RouteLengthTo.ToString(); httpClientQuery[nameof(query.SearchRadiusInMeters)] = query.SearchRadiusInMeters.ToString(); httpClientQuery[nameof(query.SurfaceLevel)] = query.SurfaceLevel.ToString(); httpClientQuery[nameof(query.SurfacePavedPercentageFrom)] = query.SurfacePavedPercentageFrom.ToString(); httpClientQuery[nameof(query.SurfacePavedPercentageTo)] = query.SurfacePavedPercentageTo.ToString(); httpClientQuery[nameof(query.CurrentLatitude)] = query.CurrentLatitude.ToStringWithDot(); httpClientQuery[nameof(query.CurrentLongitude)] = query.CurrentLongitude.ToStringWithDot(); var responseJson = await Client.GetStringAsync($"{_routesUri}?" + httpClientQuery); var result = JsonConvert.DeserializeObject <IEnumerable <Route> >(responseJson); return(result); }
private async void Button_Click(object sender, System.EventArgs e) { ((MainActivity)Activity).ShowProgressBar(); var location = await Geolocation.GetLastKnownLocationAsync(); var query = new RoutesFilterQuery { RouteLengthFrom = (int)_routeLengthSlider.GetSelectedMinValue(), RouteLengthTo = (int)_routeLengthSlider.GetSelectedMaxValue(), SurfacePavedPercentageFrom = (int)_routeSurfaceSlider.GetSelectedMinValue(), SurfacePavedPercentageTo = (int)_routeSurfaceSlider.GetSelectedMaxValue(), SurfaceLevel = (TerrainLevel)_terrainLevelSelect.SelectedItemPosition, SearchRadiusInMeters = (int)_searchRadiusSlider.GetSelectedMaxValue() * 1000, CurrentLatitude = location.Latitude, CurrentLongitude = location.Longitude }; await _routesAdapter.UpdateRoutes(query); ((MainActivity)Activity).HideProgressBar(); }
public async Task UpdateRoutes(RoutesFilterQuery query) { _routes = (await _routesService.GetRoutes(query)).ToList(); NotifyDataSetChanged(); }