/// <summary>
        /// Initializes a new instance of the <see cref="HierarchicalDataTransformer"/> class.
        /// </summary>
        /// <param name="metadataServiceClient"></param>
        /// <param name="processingContextWrapperFactory"></param>
        /// <param name="loggingRepository"></param>
        public HierarchicalDataTransformer(IMetadataServiceClient metadataServiceClient, IProcessingContextWrapperFactory processingContextWrapperFactory, ILoggingRepository loggingRepository)
        {
            this.metadataServiceClient           = metadataServiceClient ?? throw new ArgumentException("metadataServiceClient cannot be null.");
            this.processingContextWrapperFactory = processingContextWrapperFactory ?? throw new ArgumentException("ProcessingContextWrapperFactory cannot be null.");
            this.loggingRepository = loggingRepository ?? throw new ArgumentException("log4NetLogger cannot be null.");

            this.runner = new DatabusRunner();

            this.LogDebug("Successfully created HierarchicalDataTransformer instance.");
        }
        public DatabaseToSqlServerRInlineDataTransformer(
            ILoggingRepository loggingRepository,
            IMetadataServiceClient metadataServiceClient,
            ISqlExecutor sqlExecutor,
            IProcessingContextWrapperFactory processingContextWrapperFactory)
            : base(sqlExecutor)
        {
            loggingRepository.CheckWhetherArgumentIsNull(nameof(loggingRepository));
            metadataServiceClient.CheckWhetherArgumentIsNull(nameof(metadataServiceClient));
            processingContextWrapperFactory.CheckWhetherArgumentIsNull(nameof(processingContextWrapperFactory));

            this.loggingRepository               = loggingRepository;
            this.metadataServiceClient           = metadataServiceClient;
            this.processingContextWrapperFactory = processingContextWrapperFactory;
        }
 public RestApiDestinationSystem(IMetadataServiceClient metadataServiceClient)
 {
     this.metadataServiceClient = metadataServiceClient ?? throw new ArgumentException("metadataServiceClient cannot be null.");
 }