public TdmLayoutBuilder(WaypointsService waypointService, GroupsService groupsService) { _waypointsService = waypointService; _groupsService = groupsService; TdmLayoutTemplate = new TdmLayoutTemplate(); ApplyCommand = new DelegateCommand(Apply); }
public void Apply() { var points = new List <Waypoint>(); var group = new Group("TDM"); var selected = _waypointsService.SelectedWaypoints.ToList(); foreach (var waypoint in selected) { var tdmGroup = new TdmGroup(waypoint.Name); var layout = TdmLayoutTemplate.ApplyTo(waypoint); points.AddRange(layout); tdmGroup.Children.AddRange(layout); group.Children.Add(tdmGroup); } _waypointsService.Waypoints.RemoveRange(selected); _waypointsService.Waypoints.AddRange(points); _groupsService.Groups.Add(group); }