private void RefreshVsVersionNode(VsVersionNode vvn)
        {
            if (vvn != null)
            {
                vvn.Nodes.Clear();

                //Solutions
                Collection <SolutionInfo> solutions = ConfigCtrl.GetSolutions(vvn.VsVersion.FullPath);

                foreach (SolutionInfo solution in solutions)
                {
                    SolutionNode sn = new SolutionNode(solution.SolutionName);
                    sn.Solution = solution;
                    vvn.Nodes.Add(sn);
                }

                //Projects
                Collection <ProjectInfo> projects = ConfigCtrl.GetProjects(vvn.VsVersion.FullPath);

                foreach (ProjectInfo project in projects)
                {
                    ProjectNode pn = new ProjectNode(project.ProjectName);
                    pn.Project = project;
                    vvn.Nodes.Add(pn);
                }
            }
        }
        public void InitialNodes()
        {
            base.Nodes.Clear();

            //build Root node
            BaseNode Root = new BaseNode("VS Templates");

            base.Nodes.Add(Root);

            //build Servers node
            Collection <VsTemplateInfo> versions = ConfigCtrl.GetVsTemplates();

            if (versions != null)
            {
                foreach (VsTemplateInfo item in versions)
                {
                    VsVersionNode vvn = new VsVersionNode(item.Name);
                    vvn.VsVersion = new VsTemplateInfo(item.FullPath, item.Name);
                    Root.Nodes.Add(vvn);

                    RefreshVsVersionNode(vvn);
                }
            }

            if (Root.Nodes.Count > 0)
            {
                Root.Expand();
            }
        }
 private void OnRefreshVsVersionClick(object o, EventArgs e)
 {
     try
     {
         VsVersionNode vvn = this.SelectedNode as VsVersionNode;
         RefreshVsVersionNode(vvn);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, CGConstants.MSG_SYSTEMERROR, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 private void OnDeleteVsVersionClick(object o, EventArgs e)
 {
     try
     {
         if (MessageBox.Show("Are you sure?", "Confirm", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2) == DialogResult.OK)
         {
             VsVersionNode vvn = this.SelectedNode as VsVersionNode;
             if (vvn != null && vvn.VsVersion != null)
             {
                 ConfigCtrl.DeleteVsTemplate(vvn.VsVersion);
                 InitialNodes();
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, CGConstants.MSG_SYSTEMERROR, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 private void OnDeleteProjectClick(object o, EventArgs e)
 {
     try
     {
         if (MessageBox.Show("Are you sure?", "Confirm", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2) == DialogResult.OK)
         {
             ProjectNode pn = this.SelectedNode as ProjectNode;
             if (pn != null && pn.Project != null)
             {
                 ConfigCtrl.DeleteProject(pn.Project);
                 VsVersionNode vvn = pn.Parent as VsVersionNode;
                 RefreshVsVersionNode(vvn);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, CGConstants.MSG_SYSTEMERROR, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 private void OnAddProjectClick(object o, EventArgs e)
 {
     try
     {
         VsVersionNode vvn = this.SelectedNode as VsVersionNode;
         if (vvn != null)
         {
             DlgAddProject ap = new DlgAddProject();
             ap.VsVersion = vvn.VsVersion;
             if (ap.ShowDialog() == DialogResult.OK)
             {
                 RefreshVsVersionNode(vvn);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, CGConstants.MSG_SYSTEMERROR, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }