private async void Lvm_OnTap(LocationViewModel tappedlvm) { if (!IsEditMode) { Global.SearchLocationCode = tappedlvm.Code; try { Location location = new Location(); tappedlvm.SaveFields(location); ZonesPlanViewModel zpvm = new ZonesPlanViewModel(Navigation, location); ZonesSchemePage zsp = new ZonesSchemePage(zpvm); await Navigation.PushAsync(zsp); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); } } else { foreach (LocationViewModel lvm in LocationViewModels) { if (lvm != tappedlvm) { lvm.Selected = false; lvm.EditMode = SchemeElementEditMode.None; } } if (tappedlvm.Selected) { switch (tappedlvm.EditMode) { case SchemeElementEditMode.None: break; case SchemeElementEditMode.Move: tappedlvm.EditMode = SchemeElementEditMode.Resize; break; case SchemeElementEditMode.Resize: tappedlvm.Selected = false; tappedlvm.EditMode = SchemeElementEditMode.None; break; default: throw new InvalidOperationException("LocationsViewModel Lvm_OnTap Impossible Value "); } } else { tappedlvm.Selected = true; tappedlvm.EditMode = SchemeElementEditMode.Move; } } }
private async void OpenZoneSchemePage(LocationViewModel tappedlvm) { Global.SearchLocationCode = tappedlvm.Code; try { Location location = new Location(); tappedlvm.SaveFields(location); ZonesPlanViewModel zpvm = new ZonesPlanViewModel(Navigation, location); ZonesSchemePage zsp = new ZonesSchemePage(zpvm); await Navigation.PushAsync(zsp); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); } }