// Event handlers public async void OnSelected(object sender, SelectedItemChangedEventArgs e) { var Workout = (MapPreparedData)e.SelectedItem; if (Workout == null) { return; } var PointsList = await managerMapPoints.GetSpecificItemsAsync(Workout.WorkoutId); if (PointsList != null && PointsList.Count > 1) { var list = new List <MapPointItem>(PointsList); List <MapPointItem> sortedList = list.OrderBy(o => o.Order).ToList(); List <Position> convertedList = new List <Position>(); foreach (MapPointItem item in sortedList) { convertedList.Add(MapPointItem.ConvertToPosition(item)); } await Navigation.PushAsync(new MapResultPage(convertedList, Workout)); } else { await Navigation.PushAsync(new MapResultPage(Workout)); } workoutList.SelectedItem = null; }
public async void OnAddPath(object sender, EventArgs e) { switch (Device.RuntimePlatform) { case Device.UWP: await DisplayAlert("Alert", "This function is not available on Windows", "OK"); return; //break; } int a = 0; foreach (Plugin.Geolocator.Abstractions.Position value in resultRoad) { MapPointItem sendMapPoint = new MapPointItem() { Order = a++, Latitude = value.Latitude, Longitude = value.Longitude, WorkoutItemId = sendWorkout.Id }; sendMapPointList.Add(sendMapPoint); await mapManager.SaveItemAsync(sendMapPoint, false); } AddPath.IsEnabled = false; }