internal TreeViewModel ParseUserProfileSessions() { var result = new TreeViewModel(); var userProfileSessions = MilSpaceProfileFacade.GetUserProfileSessions(); foreach (var profileSession in userProfileSessions) { var model = new TreeViewNodeModel { Name = profileSession.SessionName, Guid = Guid.NewGuid(), NodeProfileSession = profileSession }; AddChildCollection(model, profileSession); if (profileSession.DefinitionType == ProfileSettingsTypeEnum.Points) { result.Lines.Add(model); } if (profileSession.DefinitionType == ProfileSettingsTypeEnum.Fun) { result.Funs.Add(model); } if (profileSession.DefinitionType == ProfileSettingsTypeEnum.Primitives) { result.Primitives.Add(model); } } return(result); }
/// <summary> /// Converts a TreeViewNodeModel into a TreeViewNode to be used by the application /// </summary> /// <param name="parentNode"></param> /// <returns></returns> private TreeViewNode ConvertParentNodeToTreeViewNode(TreeViewNodeModel parentNode) { TreeViewNode newNode = new TreeViewNode(); newNode.Name = parentNode.Name; newNode.SubNodes = (parentNode.SubNodes != null) ? AddSubNodes(parentNode) : null; newNode.Type = (TreeNodeTypes)parentNode.Type; return(newNode); }
/// <summary> /// Adds a parent node to the PlaylistModel /// </summary> /// <param name="playlistToAddToDataBase">Playlist containing the parentNode</param> /// <param name="playlistReceivingParentNode">PlaylistModel to get it´s ParentNode</param> private void AddParentNodePlaylist(Playlist playlistToAddToDataBase, PlaylistModel playlistReceivingParentNode) { TreeViewNodeModel newTreeViewNodeModel = new TreeViewNodeModel(); newTreeViewNodeModel.Name = playlistToAddToDataBase.ParentNode.Name; newTreeViewNodeModel.SubNodes = (playlistToAddToDataBase.ParentNode.SubNodes != null) ? AddSubNodes(playlistToAddToDataBase.ParentNode) : null; playlistReceivingParentNode.ParentNode = newTreeViewNodeModel; dbContext.TreeViewNodes.Add(newTreeViewNodeModel); }
/// <summary> /// Adds subNodes to a node /// </summary> /// <param name="nodeHoldingSubNodes">Nodes to build the subNodes from</param> /// <returns>List of treeViewNodeModel</returns> private static List <TreeViewNodeModel> AddSubNodes(TreeViewNode nodeHoldingSubNodes) { List <TreeViewNodeModel> nodes = new List <TreeViewNodeModel>(); foreach (TreeViewNode subNode in nodeHoldingSubNodes.SubNodes) { TreeViewNodeModel newTreeViewNodeModel = new TreeViewNodeModel(); newTreeViewNodeModel.Name = subNode.Name; newTreeViewNodeModel.SubNodes = AddSubNodes(subNode); nodes.Add(newTreeViewNodeModel); } return(nodes); }
/// <summary> /// Converts PlaylistModels to Playlist used by the application /// </summary> /// <param name="playlistsFromDatabaseToConvert">PlaylistMoels from database containing Playlist information</param> /// <returns>List of Playlist</returns> private List <Playlist> ConvertPlaylistModelToPlaylist(List <PlaylistModel> playlistsFromDatabaseToConvert) { List <Playlist> result = new List <Playlist>(); foreach (PlaylistModel model in playlistsFromDatabaseToConvert) { TreeViewNodeModel newTreeViewNodeModel = new TreeViewNodeModel(); newTreeViewNodeModel = ConvertTreeViewNodeModelFromTreeViewNodeModel(model.ParentNode); Playlist playlist = new Playlist(model.Title, ConvertParentNodeToTreeViewNode(newTreeViewNodeModel), model.Description); ConvertMediaModelsToApplicationAwareTypes(playlist, model.Video, model.Image); result.Add(playlist); } return(result); }
/// <summary> /// This method gets the subNodes out of a node from the database and converts it into a list of treeViewNodes /// </summary> /// <param name="nodeHoldingSubNodes">The node fromthe database</param> /// <returns>Converted List of TreeViewNodes</returns> private List <TreeViewNode> AddSubNodes(TreeViewNodeModel nodeHoldingSubNodes) { List <TreeViewNode> nodes = new List <TreeViewNode>(); foreach (TreeViewNodeModel subNode in nodeHoldingSubNodes.SubNodes) { TreeViewNode newTreeViewNodeModel = new TreeViewNode(); newTreeViewNodeModel.SubNodes = new List <TreeViewNode>(); newTreeViewNodeModel.Name = subNode.Name; newTreeViewNodeModel.SubNodes = (subNode.SubNodes != null) ? AddSubNodes(subNode) : null; newTreeViewNodeModel.Type = (TreeNodeTypes)subNode.Type; nodes.Add(newTreeViewNodeModel); } return(nodes); }
/// <summary> /// This Method is used when Converting PlaylistModel to Playlist to AddSubNodes to the model /// </summary> /// <param name="nodeHoldingSubNodes">Node to get subNodes of</param> /// <returns></returns> private List <TreeViewNodeModel> AddSubNodesToModel(TreeViewNodeModel nodeHoldingSubNodes) { List <TreeViewNodeModel> nodes = new List <TreeViewNodeModel>(); if (nodeHoldingSubNodes.SubNodes != null) { foreach (TreeViewNodeModel subNode in nodeHoldingSubNodes.SubNodes) { TreeViewNodeModel newTreeViewNodeModel = new TreeViewNodeModel(); newTreeViewNodeModel.Name = subNode.Name; newTreeViewNodeModel.SubNodes = AddSubNodesToModel(subNode); newTreeViewNodeModel.Type = subNode.Type; nodes.Add(newTreeViewNodeModel); } } return(nodes); }
private void AddChildCollection(TreeViewNodeModel node, ProfileSession profileSession) { if (node == null || profileSession == null) { return; } node.ChildNodes = new List <TreeViewNodeModel>(); foreach (var line in profileSession.ProfileLines) { var azimuth = line.Azimuth.ToString("F0"); var nodeName = profileSession.DefinitionType == ProfileSettingsTypeEnum.Points ? $"{azimuth}{Degree}" : (line.Azimuth == double.MinValue ? $"{_context.Profile}: ({Array.IndexOf(profileSession.ProfileLines, line) + 1})" : $"{azimuth}{Degree} ({System.Array.IndexOf(profileSession.ProfileLines, line) + 1})"); node.ChildNodes.Add(new TreeViewNodeModel { Name = nodeName, NodeProfileSession = profileSession }); } }
/// <summary> /// Extracts the TreeViewNode model of a treeViewNodeMoel used in the conversion from PlaylistModel to Playlist /// </summary> /// <param name="treeViewNodeToConvert">TreeViewNodeModel to transform</param> /// <returns>TreeViewNode model</returns> private TreeViewNodeModel ConvertTreeViewNodeModelFromTreeViewNodeModel(TreeViewNodeModel treeViewNodeToConvert) { TreeViewNodeModel result = new TreeViewNodeModel(); result.Name = treeViewNodeToConvert.Name; result.Type = treeViewNodeToConvert.Type; if (treeViewNodeToConvert.SubNodes != null) { result.SubNodes = new List <TreeViewNodeModel>(); foreach (TreeViewNodeModel model in treeViewNodeToConvert.SubNodes) { TreeViewNodeModel newTreeViewNode = new TreeViewNodeModel(); newTreeViewNode.Name = model.Name; newTreeViewNode.Type = model.Type; newTreeViewNode.SubNodes = AddSubNodesToModel(model); result.SubNodes.Add(newTreeViewNode); } } return(result); }