Exemple #1
0
 public void CollectProjects()
 {
     Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
     if (Dte == null)
     {
         return;
     }
     foreach (Project p in Dte.Solution.Projects)
     {
         if (string.Compare(p.Kind, ProjectKinds.vsProjectKindSolutionFolder) == 0)
         {
             CollectNestedProjects(p);
         }
         else
         {
             SolutionProject sp = new SolutionProject()
             {
                 ProjectName       = p.Name,
                 ProjectUniqueName = p.UniqueName,
                 ProjectRef        = p
             };
             ComboItemsSourceProjects.Add(sp);
         }
     }
 }
Exemple #2
0
        public virtual void CollectNestedProjects(Project parentPrj)
        {
            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
            if (string.Compare(parentPrj.Kind, ProjectKinds.vsProjectKindSolutionFolder) != 0)
            {
                return;
            }
            for (var i = 1; i <= parentPrj.ProjectItems.Count; i++)
            {
                Project subProject = parentPrj.ProjectItems.Item(i).SubProject;
                if (subProject == null)
                {
                    continue;
                }

                // If this is another solution folder, do a recursive call, otherwise add
                if (subProject.Kind == ProjectKinds.vsProjectKindSolutionFolder)
                {
                    CollectNestedProjects(subProject);
                }
                else
                {
                    SolutionProject sp = new SolutionProject()
                    {
                        ProjectName       = subProject.Name,
                        ProjectUniqueName = subProject.UniqueName,
                        ProjectRef        = subProject
                    };
                    ComboItemsSourceProjects.Add(sp);
                }
            }
        }
Exemple #3
0
        public override void UiBtnCommandAction(Object param)
        {
            if (string.IsNullOrWhiteSpace(UiCommandProppertyName))
            {
                return;
            }
            if (SelectedCodeElement == null)
            {
                return;
            }
            if (SelectedCodeElement.CodeElementRef == null)
            {
                return;
            }
            CodeClass cc = SelectedCodeElement.CodeElementRef as CodeClass;

            if (SelectedViewModel != null)
            {
                SolutionProject prj = ComboItemsSourceProjects.Where(p => string.Equals(p.ProjectUniqueName, SelectedViewModel.RootNodeProjectName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                if (prj != null)
                {
                    if (!string.Equals(SelectedProject.ProjectUniqueName, prj.ProjectUniqueName, StringComparison.OrdinalIgnoreCase))
                    {
                        if (SelectedProject.ProjectRef.Object is VSProject)
                        {
                            (SelectedProject.ProjectRef.Object as VSProject).References.AddProject(prj.ProjectRef);
                            SelectedProject.ProjectRef.Save();
                        }
                    }
                }
            }



            //cc.AddProperty(UiCommandProppertyName , UiCommandProppertyName, "System.Data.Entity.DbSet<" + SelectedViewModelRootClass + ">", -1, vsCMAccess.vsCMAccessPublic, null);
            CodeProperty codeProperty =
                cc.AddProperty(UiCommandProppertyName, UiCommandProppertyName, "DbSet<" + SelectedViewModelRootClass + ">", -1, vsCMAccess.vsCMAccessPublic, null);
            EditPoint editPoint = codeProperty.Getter.StartPoint.CreateEditPoint();

            editPoint.Delete(codeProperty.Getter.EndPoint);
            editPoint.Insert("get ;");

            editPoint = codeProperty.Setter.StartPoint.CreateEditPoint();
            editPoint.Delete(codeProperty.Setter.EndPoint);
            editPoint.Insert("set ;");
            if (cc.ProjectItem != null)
            {
                if (cc.ProjectItem.IsDirty)
                {
                    cc.ProjectItem.Save();
                }
            }



            DoAnaliseDbContext();
        }