private IEnumerable <SsrsObject> MapFilesToSsrsObjects(SsrsObjectFilter filter) { var rootContainer = new DirectoryInfo(directoryPath); if (!rootContainer.Exists) { yield break; } var siteFilter = GetSiteFilter(filter.Site); foreach (var relativePath in new RelativeDirectoryExplorer().EnumerateRelativeFiles(rootContainer)) { var containerPath = basePath + SsrsObjectPath.FromFileSystemPath(Path.GetDirectoryName(relativePath)); var ssrsObject = new SsrsObjectFileReader().Read(Path.Combine(directoryPath, relativePath), containerPath); if (filter.Excludes(ssrsObject)) { continue; } if (siteFilter?.Matches(ssrsObject.Path) == false) { continue; } yield return(ssrsObject); } }
private IEnumerable <SsrsObject> ReadWithFilter(SsrsObjectFilter filter) { var ssrsObject = new SsrsObjectFileReader().Read(filePath, basePath); if (filter.Excludes(ssrsObject)) { yield break; } yield return(ssrsObject); }