public override int Run(string[] args) { if (args.Length > 1) { DisplayCommandUsage(); return(1); } ProjectType?projectType = null; if (args.Length == 1) { projectType = (ProjectType)Enum.Parse(typeof(ProjectType), args[0], true); } IProjectInfoRepository projectInfoRepository = ObjectFactory.Instance.CreateProjectInfoRepository(); IEnumerable <IGrouping <ProjectType, ProjectInfo> > projectsByType = projectInfoRepository.GetAll() .GroupBy(pi => pi.Type) .OrderBy(infos => infos.Key); int count = projectsByType.Count(); int index = 0; foreach (IGrouping <ProjectType, ProjectInfo> projectGrouping in projectsByType) { ProjectType currentProjecType = projectGrouping.Key; if (!projectType.HasValue || currentProjecType == projectType.Value) { OutputWriter.WriteLine("{0}:", currentProjecType); foreach (ProjectInfo projectInfo in projectGrouping) { OutputWriter.WriteLine(" {0}", projectInfo.Name); } } index++; if (!projectType.HasValue && index < count) { OutputWriter.WriteLine(); } } return(0); }
public List <Proxy.Dto.ProjectInfo> GetProjectInfos(Proxy.Dto.ProjectFilter projectFilter) { if (projectFilter == null) { throw new ArgumentNullException("projectFilter"); } IEnumerable <ProjectInfo> projectInfos = _projectInfoRepository.GetAll(); if (!string.IsNullOrEmpty(projectFilter.Name)) { projectInfos = projectInfos .Where(pi => !string.IsNullOrEmpty(pi.Name) && pi.Name.IndexOf(projectFilter.Name, StringComparison.CurrentCultureIgnoreCase) > -1); } return (projectInfos .Select(DtoMapper.Map <ProjectInfo, Proxy.Dto.ProjectInfo>) .ToList()); }
protected List <T> GetProjects <T>() { return(_projectInfoRepository.GetAll() .OfType <T>() .ToList()); }