Example #1
0
        public static Project FindProjectFromProjectItemFileName([NotNull] this ProjectHost projectHost, [NotNull] string fileName)
        {
            Assert.ArgumentNotNull(projectHost, nameof(projectHost));
            Assert.ArgumentNotNull(fileName, nameof(fileName));

            return(ProjectManager.FindProjectFromProjectItemFileName(fileName));
        }
Example #2
0
        public static Project ConnectProjectToSitecore([NotNull] this ProjectHost projectHost, [NotNull] EnvDTE.Project project)
        {
            Assert.ArgumentNotNull(projectHost, nameof(projectHost));
            Assert.ArgumentNotNull(project, nameof(project));

            var d = new SelectSiteDialog();

            var hostName = GetServer(project);

            d.Select(hostName, string.Empty);
            d.ShowNewConnectionButton = true;

            if (AppHost.Shell.ShowDialog(d) != true)
            {
                return(null);
            }

            var site = d.Site;

            if (site == null)
            {
                return(null);
            }

            var newProject = ProjectManager.CreateBlankProject(project.FileName);

            newProject.HostName         = site.HostName;
            newProject.UserName         = site.UserName;
            newProject.IsRemoteSitecore = projectHost.GetIsRemoteSitecore(project.FileName);

            newProject.Save();
            ProjectManager.LoadProject(newProject);

            return(newProject);
        }
Example #3
0
        private static Projects GetProjectsByUsername(string host, string username)
        {
            Assert.ValidInput(username, "username");
            Assert.ValidInput(host, "host");
            ProjectHost projectHost = ProjectHostExtensions.GetProjectHost(host);

            Assert.ValidInput(projectHost.ToString(), "host");

            var projects = new List <Project>().GetFromCache(projectHost, username);

            if (projects != null)
            {
                return(new Projects(projects));
            }

            switch (projectHost)
            {
            case ProjectHost.GoogleCode:
                projects = GoogleCodeProjectsByUsername(username);
                break;

            case ProjectHost.GitHub:
                projects = GitHubProjectsByUsername(username);
                break;
            }

            return(new Projects(projects.AddToCache(projectHost, username)));
        }
Example #4
0
        public static List <Project> GetFromCache(this List <Project> projects, ProjectHost projectHost, string username)
        {
            var key = GetKey(projectHost, username);

            if (GetFromCache <List <Project> >(key) != default(List <Project>))
            {
                return(GetFromCache <List <Project> >(key));
            }
            return(null);
        }
Example #5
0
        public static Project CreateBlankProject([NotNull] this ProjectHost projectHost, [NotNull] string fileName)
        {
            Assert.ArgumentNotNull(projectHost, nameof(projectHost));
            Assert.ArgumentNotNull(fileName, nameof(fileName));

            var newProject = ProjectManager.CreateBlankProject(fileName);

            ProjectManager.LoadProject(newProject);
            return(newProject);
        }
Example #6
0
        public static bool GetIsRemoteSitecore([NotNull] this ProjectHost projectHost, [NotNull] string fileName)
        {
            Assert.ArgumentNotNull(projectHost, nameof(projectHost));
            Assert.ArgumentNotNull(fileName, nameof(fileName));

            var path = Path.GetDirectoryName(fileName);

            path += @"\sitecore\shell\WebService\service.asmx";

            return(!File.Exists(path));
        }
Example #7
0
 private static string GetKey(ProjectHost projectHost, string username)
 {
     return(string.Format("{0}-{1}", projectHost, username));
 }
Example #8
0
 public static List <Project> AddToCache(this List <Project> projects, ProjectHost projectHost, string username)
 {
     return(projects.AddToCache(GetKey(projectHost, username)));
 }
 private string BuildProjectHostUsernamePair(ProjectHost projectHost, string username)
 {
     return string.Format("{0}:{1},", projectHost, username);
 }