Example #1
0
        /// <summary>
        /// The projects in a solution. This does not include solution folders.
        /// </summary>
        /// <returns></returns>
        public IEnumerable <TfsSolutionProject> Projects()
        {
            var solutionDir    = Path.GetDirectoryName(ServerPath);
            var solutionParser = new SolutionFileParser(Download());

            return(solutionParser.GetProjects()
                   .Select(p => Path.Combine(solutionDir, p))
                   .Select(p => VersionControl.GetItem(p))
                   .Where(p => p.ItemType == ItemType.File)
                   .Select(p => new TfsSolutionProject(p, VersionControl)));
        }
Example #2
0
        /// <summary>
        /// The files in a project.
        /// </summary>
        /// <param name="fileExtensionFilter">Any file extensions to filter out. If empty, all file extensions are returned.</param>
        /// <returns></returns>
        public IEnumerable <TfsFile> Files(IReadOnlyCollection <string> fileExtensionFilter)
        {
            var projectDir = Path.GetDirectoryName(ServerPath);

            return(_projectDocument.Value
                   .Descendants(XName.Get("Compile", ProjectNamespace)).Concat(_projectDocument.Value
                                                                               .Descendants(XName.Get("None", ProjectNamespace)))
                   .Select(e => Path.Combine(projectDir, e.Attribute(XName.Get("Include")).Value))
                   .Where(p => fileExtensionFilter.Count == 0 || fileExtensionFilter.Contains(Path.GetExtension(p)))
                   .Select(p => VersionControl.GetItem(p))
                   .Select(i => new TfsFile(i, VersionControl)));
        }