コード例 #1
0
        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);
        }
コード例 #2
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);
        }