示例#1
0
 public CreateDataSourceJob(
     IReportingServiceClient service,
     SsrsDataSource dataSource
     )
 {
     this.service    = service ?? throw new ArgumentNullException(nameof(service));
     this.dataSource = dataSource ?? throw new ArgumentNullException(nameof(dataSource));
 }
示例#2
0
 public ImportJob(
     IReportingServiceClient service,
     ISsrsObjectSource source,
     SsrsObjectFilter filter
     )
 {
     this.service = service ?? throw new ArgumentNullException(nameof(service));
     this.source  = source ?? throw new ArgumentNullException(nameof(source));
     this.filter  = filter ?? throw new ArgumentNullException(nameof(filter));
 }
        public static async Task <bool> ItemExists(this IReportingServiceClient service, SsrsObjectPath path, ILog log = null)
        {
            var response = await service.Proxy.GetItemTypeAsync(new GetItemTypeRequest {
                TrustedUserHeader = new TrustedUserHeader(),
                ItemPath          = path.ToString()
            });

            if (!Enum.TryParse <CatalogItemType>(response.Type, out var type) || type == CatalogItemType.Unknown)
            {
                log?.DebugFormat("Item does not exist: '{0}', type = '{1}'", path, response.Type);
                return(false);
            }
            log?.DebugFormat("Item exists: '{0}', type = '{1}'", path, response.Type);
            return(true);
        }
        public static async Task <string> GetOrCreateContainer(this IReportingServiceClient service, SsrsObjectPath path, ILog log = null)
        {
            var container = path.Parent;

            if (container.IsRoot)
            {
                return(container.ToString());
            }
            if (await ItemExists(service, container))
            {
                return(container.ToString());
            }

            var parentContainer = await GetOrCreateContainer(service, container, log);

            log?.DebugFormat("Creating folder: '{0}'", container);
            var response = await service.Proxy.CreateFolderAsync(new CreateFolderRequest {
                TrustedUserHeader = new TrustedUserHeader(),
                Folder            = container.Name,
                Parent            = parentContainer
            });

            return(response.ItemInfo.Path);
        }
 public ObjectDefinitionAccessor(IReportingServiceClient service, string path)
 {
     this.service = service;
     this.path    = path;
 }
 public SsrsObjectCatalogItemReader(IReportingServiceClient service)
 {
     this.service = service;
 }
 public SsrsWebServiceObjectSource(IReportingServiceClient service)
 {
     this.service = service;
 }