/// <summary> /// Remove WMS-layer /// </summary> /// <param name="id"></param> /// <param name="groups"></param> private void removeLayer(string id, List <LayerGroup> groups) { groups.ForEach(group => { MapWMSLayerInfo layer = group.layers.FirstOrDefault(l => l.id == id); if (layer != null) { group.layers.Remove(layer); } else { if (group.groups != null) { this.removeLayer(id, group.groups); } } }); }
/// <summary> /// Find and update layer in group. /// </summary> /// <param name="groups"></param> /// <param name="oldLayerId"></param> /// <param name="newLayerId"></param> internal void FindAndUpdateLayerInGroup(List <LayerGroup> groups, string oldLayerId, string newLayerId) { bool found = false; groups.ForEach(group => { MapWMSLayerInfo layer = group.layers.Find(l => l.id == oldLayerId); if (layer != null) { layer.id = newLayerId; found = true; } if (group.groups == null) { group.groups = new List <LayerGroup>(); } if (!found && group.groups.Count > 0) { this.FindAndUpdateLayerInGroup(group.groups, oldLayerId, newLayerId); } }); }