private void RemovePointsOfInterestOfRemovedLayer(BikeTouringGISLayer obj) { var source = obj.FileName; var layersWithSameSource = BikeTouringGISLayers.Any(x => x.FileName.Equals(source) && x.Type == LayerType.GPXRoute); if (!layersWithSameSource) { var wayPointsToRemove = _pointsOfInterestLayer.WayPoints.Where(x => x.Source.Equals(source)).ToList(); _pointsOfInterestLayer.RemovePoIs(wayPointsToRemove); } }
private void RemoveLayer(BikeTouringGISLayer obj) { var splitLayer = obj.SplitLayer; _map.Layers.Remove(obj); _map.Layers.Remove(splitLayer); BikeTouringGISLayers.Remove(obj); RemovePointsOfInterestOfRemovedLayer(obj); SetExtent(); CalculateTotalLength(); PlacePointsOfInterestLayerOnTop(); MessengerInstance.Send(new LayerRemovedMessage() { Layer = obj }); }