public ListViewItem CreateListItemFor(string path) { var projectName = Path.GetFileName(path); var item = new ListViewItem(projectName); item.Tag = path; var last = File.GetLastWriteTime(path); item.SubItems.Add(last.ToShortDateString() + " " + last.ToShortTimeString()); item.ImageIndex = 0; string projectWithExistingRepo = GetProjectWithExistingRepo(path); if (projectWithExistingRepo != null) { item.ToolTipText = string.Format(ProjectInUseTemplate, projectWithExistingRepo); item.ForeColor = DisabledItemForeColor; item.ImageIndex = 1; } else if (ExistingProjects != null && ExistingProjects.Contains(projectName)) { item.ToolTipText = ProjectWithSameNameExists; item.ForeColor = DisabledItemForeColor; item.ImageIndex = 2; } else { item.ToolTipText = path; } return(item); }
/// <summary> /// Checks whether the project with given <paramref name="projectFileName"/> exists /// </summary> /// <param name="projectFileName">Project file (.csproj) to check</param> /// <returns>True when the project exists within the solution</returns> public bool ProjectExists(string projectFileName) { return(ExistingProjects.FirstOrDefault(p => { ThreadHelper.ThrowIfNotOnUIThread(); return (!string.IsNullOrEmpty(p.FileName) && new FileInfo(p.FileName).Name == projectFileName); }) != null); }