コード例 #1
0
 public InspectJob(
     ISsrsObjectSource source,
     SsrsObjectFilter filter
     )
 {
     this.source = source ?? throw new ArgumentNullException(nameof(source));
     this.filter = filter ?? throw new ArgumentNullException(nameof(filter));
 }
コード例 #2
0
        public IJob CreateJob()
        {
            var source = GetObjectSource();

            if (!source.HasManifest && Site != null)
            {
                throw new InvalidArgumentsException("--site was specified but no manifest was found.");
            }
            if (!new SsrsObjectTypesParser().ValidateTypes(ObjectFilter.TypeFilter, out var invalidTypes))
            {
                throw new InvalidArgumentsException($"Invalid object types: {invalidTypes}");
            }

            var filter = new SsrsObjectFilter {
                ObjectTypes = new SsrsObjectTypesParser().GetTypeFilter(ObjectFilter.TypeFilter),
                Path        = new PathFilterExpression(
                    PathFilter.ParseGlob(ObjectFilter.IncludePaths) ?? PathFilter.MatchAll,
                    PathFilter.ParseGlob(ObjectFilter.ExcludePaths)
                    ),
                Site = Site
            };

            return(new InspectJob(source, filter));
        }
コード例 #3
0
 public Task <IEnumerable <SsrsObject> > Enumerate(SsrsObjectFilter filter)
 {
     EnsureOpened();
     return(Task.FromResult(MapEntriesToSsrsObjects(zip.Entries.ToArray(), filter)));
 }