public Int32 Handle() { if (String.IsNullOrWhiteSpace(this.ProjectTerm)) { Console.WriteLine("[Error] - Please specify a project term."); return(-1); } Project project = null; IEnumerable <String> projectNames = ProjectQueryer.GetProjectNames(); String projectName = String.Empty; if (Int32.TryParse(this.ProjectTerm, out Int32 index)) { projectName = projectNames.Skip(index).FirstOrDefault(); } else { // Try exact match projectName = projectNames.Where(x => x.Equals(this.ProjectTerm)).FirstOrDefault(); // Try non-case sensitive match if (String.IsNullOrWhiteSpace(projectName)) { projectName = projectNames.Where(x => x.Equals(this.ProjectTerm, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); } // Try contains (match case) if (String.IsNullOrWhiteSpace(projectName)) { projectName = projectNames.Where(x => x.Contains(this.ProjectTerm)).FirstOrDefault(); } // Try contains (no match case) if (String.IsNullOrWhiteSpace(projectName)) { projectName = projectNames.Where(x => x.Contains(this.ProjectTerm, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); } } if (!String.IsNullOrWhiteSpace(projectName)) { project = new Project(projectName); } if (project == null) { Console.WriteLine("[Error] - Unable to find specified project."); return(-1); } SessionManager.Project = project; Console.WriteLine("Project opened: " + project.Name); return(0); }
public Int32 Handle() { Console.WriteLine(); Console.WriteLine("----------------------------------------------"); Console.WriteLine("# " + "\t|\t" + "Name"); Console.WriteLine("----------------------------------------------"); Int32 index = 0; foreach (String next in ProjectQueryer.GetProjectNames()) { Console.WriteLine((index++) + "\t|\t" + next); } Console.WriteLine(); return(0); }