//Fired when modules where changed in database (eg deleted, renamed) public void UpdateModulesFromDbRec() { foreach (NodeModule n in this.Nodes) { if (!n.IsLeaf) { using (SQLiteCommand command = new SQLiteCommand(ConnectionManager.connection)) { command.CommandText = @"select name,id,(select name from modules where id=module_id) as module from files where p_id=@p_id;"; command.Parameters.Add(new SQLiteParameter("@p_id", n.Tag)); SQLiteDataReader DataReader = command.ExecuteReader(); while (DataReader.Read()) { try { NodeModule nm = n.Nodes.First(a => a.Tag.ToString() == "f" + DataReader["id"]) as NodeModule; nm.Module = DataReader["module"].ToString(); } catch { } } } n.UpdateModulesFromDbRec(); } } }
private NodeModule FindNode(NodeModule root, TreePath path, int level) { foreach (NodeModule node in root.Nodes) if (node == path.FullPath[level]) { if (level == path.FullPath.Length - 1) return node; else return FindNode(node, path, level + 1); } return null; }
public TreePath GetPath(NodeModule node) { if (node == _root) return TreePath.Empty; else { Stack<object> stack = new Stack<object>(); while (node != _root) { stack.Push(node); node = node.Parent as NodeModule; } return new TreePath(stack.ToArray()); } }
public TreePath GetPath(NodeModule node) { if (node == _root) { return(TreePath.Empty); } else { Stack <object> stack = new Stack <object>(); while (node != _root) { stack.Push(node); node = node.Parent as NodeModule; } return(new TreePath(stack.ToArray())); } }
public System.Collections.IEnumerable GetChildren(TreePath treePath) { NodeModule nodeSelected; NodeModule nodeChild; nodeSelected = this.FindNode(treePath); using (SQLiteCommand command = new SQLiteCommand(ConnectionManager.connection)) { command.CommandText = @"select * from folders where p_id=@p_id;"; command.Parameters.Add(new SQLiteParameter("@p_id", (nodeSelected != null ? nodeSelected.Tag : "null"))); SQLiteDataReader DataReader = command.ExecuteReader(); while (DataReader.Read()) { nodeChild = new NodeModule(DataReader["name"].ToString()); nodeChild.Tag = DataReader["id"]; if (nodeSelected == null) { _root = nodeChild; _root.Model = this; } else { nodeSelected.Nodes.Add(nodeChild); } yield return(nodeChild); } } using (SQLiteCommand command = new SQLiteCommand(ConnectionManager.connection)) { command.CommandText = @"select name,id,(select name from modules where id=module_id) as module from files where p_id=@p_id;"; command.Parameters.Add(new SQLiteParameter("@p_id", (nodeSelected != null ? nodeSelected.Tag : "null"))); SQLiteDataReader DataReader = command.ExecuteReader(); while (DataReader.Read()) { nodeChild = new NodeModule(DataReader["name"].ToString(), DataReader["module"].ToString()); nodeChild.Tag = "f" + DataReader["id"]; nodeSelected.Nodes.Add(nodeChild); yield return(nodeChild); } } }
private NodeModule FindNode(NodeModule root, TreePath path, int level) { foreach (NodeModule node in root.Nodes) { if (node == path.FullPath[level]) { if (level == path.FullPath.Length - 1) { return(node); } else { return(FindNode(node, path, level + 1)); } } } return(null); }
public System.Collections.IEnumerable GetChildren(TreePath treePath) { NodeModule nodeSelected; NodeModule nodeChild; nodeSelected = this.FindNode(treePath); using (SQLiteCommand command = new SQLiteCommand(ConnectionManager.connection)) { command.CommandText = @"select * from folders where p_id=@p_id;"; command.Parameters.Add(new SQLiteParameter("@p_id", (nodeSelected != null ? nodeSelected.Tag : "null"))); SQLiteDataReader DataReader = command.ExecuteReader(); while (DataReader.Read()) { nodeChild = new NodeModule(DataReader["name"].ToString()); nodeChild.Tag = DataReader["id"]; if (nodeSelected == null) { _root = nodeChild; _root.Model = this; } else nodeSelected.Nodes.Add(nodeChild); yield return nodeChild; } } using (SQLiteCommand command = new SQLiteCommand(ConnectionManager.connection)) { command.CommandText = @"select name,id,(select name from modules where id=module_id) as module from files where p_id=@p_id;"; command.Parameters.Add(new SQLiteParameter("@p_id", (nodeSelected != null ? nodeSelected.Tag : "null"))); SQLiteDataReader DataReader = command.ExecuteReader(); while (DataReader.Read()) { nodeChild = new NodeModule(DataReader["name"].ToString(),DataReader["module"].ToString()); nodeChild.Tag = "f" + DataReader["id"]; nodeSelected.Nodes.Add(nodeChild); yield return nodeChild; } } }