/// <summary> /// Obtiene el objeto de script de un nodo /// </summary> private ScriptModel GetScriptFromNode(TreeScriptNodeViewModel scriptNode) { return(new ScriptModel { RelativeFileName = GetRelativeFileName(scriptNode.FileName) }); }
public TreeScriptNodeViewModel(TreeScriptNodeViewModel parent, string fileName) : base(parent, string.Empty, fileName, false) { if (!string.IsNullOrEmpty(fileName)) { Text = System.IO.Path.GetFileName(fileName); } else { Text = "Sin archivo"; } FileName = fileName; }
/// <summary> /// Añade un nodo /// </summary> protected TreeScriptNodeViewModel AddNode(TreeScriptNodeViewModel parent, string fileName, bool isBold, string icon, bool isChecked = false) { TreeScriptNodeViewModel node = new TreeScriptNodeViewModel(parent, fileName); // Cambia la negrita node.IsBold = isBold; node.Icon = icon; node.IsExpanded = true; node.IsChecked = isChecked; // Añade el nodo a la lista if (parent == null) { Children.Add(node); } else { parent.Children.Add(node); } // Devuelve el nodo return(node); }
/// <summary> /// Carga los archivos de un proyecto /// </summary> private void LoadFiles(TreeScriptNodeViewModel root, string path) { if (!string.IsNullOrEmpty(path) && System.IO.Directory.Exists(path)) { // Carga las carpetas foreach (string pathChild in System.IO.Directory.GetDirectories(path)) { LoadFiles(AddNode(root, pathChild, true, MainViewModel.Instance.ViewsController.GetIcon(ProjectExplorerViewModel.NodeType.Folder)), pathChild); } // Carga los archivos foreach (string file in System.IO.Directory.GetFiles(path)) { if (!System.IO.Path.GetFileName(file).EqualsIgnoreCase(Application.Bussiness.ProjectBussiness.ProjectFileName) && !System.IO.Path.GetExtension(file).EqualsIgnoreCase(ProjectModel.QueryExtension)) { AddNode(root, file, false, MainViewModel.Instance.ViewsController.GetIcon(GetFileType(file)), CheckAtDeployment(file)); } } } }