private void OnRoutePointRemoved(RoutePointRemovedEvent obj) { RoutePoint routePoint = RoutePoints.FirstOrDefault(x => x.Id == obj.RoutePointId); if (routePoint != null) { RoutePoints.Remove(routePoint); } AircraftRouteViewModel routeViewModel = Routes.FirstOrDefault(x => x.AircraftId == obj.AircraftId); if (routeViewModel != null) { Routes.Remove(routeViewModel); } Aircraft aircraft = Aircrafts.FirstOrDefault(x => x.Id == obj.AircraftId); if (aircraft != null) { AircraftRouteViewModel route = _routeService.GetRouteLine(aircraft); route.IsSelected = true; Routes.Add(route); } }
private void CenterOnSelectedAircaft() { Aircraft selected = Aircrafts.FirstOrDefault(x => x.IsSelected); if (selected != null && selected.Location != null) { MapCenter = new Location(selected.Location.Latitude, selected.Location.Longitude); } }
public bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e) { if (managerType == typeof(CollectionChangedEventManager)) { Parallel.ForEach( Aircrafts, aircraft => { PropertyChangedEventManager.AddListener(aircraft, this, nameof(aircraft.IsSelected)); }); } else if (!_isMarkingSelectedAfterSelectedInList) { _isSelectingAircraftAfterSelectionChangedInModel = true; SelectedAircraft = Aircrafts.FirstOrDefault(x => x.IsSelected); _isSelectingAircraftAfterSelectionChangedInModel = false; } return(true); }
private void HighlightSelectedAircraftRoute() { foreach (AircraftRouteViewModel aircraftRouteViewModel in Routes) { aircraftRouteViewModel.IsSelected = false; } Aircraft selectedCraft = Aircrafts.FirstOrDefault(x => x.IsSelected); if (selectedCraft != null) { AircraftRouteViewModel aircraftRouteViewModel = Routes.FirstOrDefault(x => x.AircraftId == selectedCraft.Id); if (aircraftRouteViewModel != null) { aircraftRouteViewModel.IsSelected = true; } } }