/// <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));
             }
         }
     }
 }