public PaymentTransactionCreator(
            PaymentUrlProvider urlProvider,
            IEnumerable <TransactionDataHandler> transactionDataHandlers,
            ILogger logger,
            PublicBillingApiProxy billingApi)
            : base(billingApi)
        {
            if (urlProvider == null)
            {
                throw new ArgumentNullException("urlProvider");
            }

            if (transactionDataHandlers == null)
            {
                throw new ArgumentNullException("transactionDataHandlers");
            }

            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            this.urlProvider             = urlProvider;
            this.transactionDataHandlers = transactionDataHandlers;
            this.logger = logger;
        }
        public PaymentTransactionCreator(
            PaymentUrlProvider urlProvider,
            IEnumerable<TransactionDataHandler> transactionDataHandlers,
            ILogger logger,
            PublicBillingApiProxy billingApi)
            : base(billingApi)
        {
            if (urlProvider == null)
            {
                throw new ArgumentNullException("urlProvider");
            }

            if (transactionDataHandlers == null)
            {
                throw new ArgumentNullException("transactionDataHandlers");
            }

            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            this.urlProvider = urlProvider;
            this.transactionDataHandlers = transactionDataHandlers;
            this.logger = logger;
        }
        /// <summary>
        /// Create new instance with reseller identifiers
        /// </summary>
        public ResellerDataProvider(IResellerIdentifierProvider resellerIdentifierProvider, PublicBillingApiProxy billingApi)
            : base(billingApi)
        {
            if (resellerIdentifierProvider == null)
            {
                throw new ArgumentNullException("resellerIdentifierProvider");
            }

            this.resellerIdentifierProvider = resellerIdentifierProvider;
        }
        public OrderCreator(IEnumerable <OrderDataHandler> orderDataHandlers, PublicBillingApiProxy billingApi, IAuditLogger auditLogger = null)
            : base(billingApi)
        {
            if (orderDataHandlers == null)
            {
                throw new ArgumentNullException("orderDataHandlers");
            }

            this.orderDataHandlers = orderDataHandlers;
            this.auditLogger       = auditLogger;
        }
        public OrderCreator(IEnumerable<OrderDataHandler> orderDataHandlers, PublicBillingApiProxy billingApi, IAuditLogger auditLogger = null)
            : base(billingApi)
        {
            if (orderDataHandlers == null)
            {
                throw new ArgumentNullException("orderDataHandlers");
            }

            this.orderDataHandlers = orderDataHandlers;
            this.auditLogger = auditLogger;
        }
 public SimpleOrderCreator(IEnumerable <OrderDataHandler> orderDataHandlers, PublicBillingApiProxy billingApi, IAuditLogger auditLogger = null) : base(orderDataHandlers, billingApi, auditLogger)
 {
 }
        public TokenLoginOrderCreator(PaymentUrlProvider urlProvider, IEnumerable <OrderDataHandler> orderDataHandlers, PublicBillingApiProxy billingApi)
            : base(orderDataHandlers, billingApi)
        {
            if (urlProvider == null)
            {
                throw new ArgumentException("urlProvider");
            }

            this.urlProvider = urlProvider;
        }
        /// <summary>
        /// Create new instance with reseller identifiers
        /// </summary>
        public ResellerDataProvider(IResellerIdentifierProvider resellerIdentifierProvider, PublicBillingApiProxy billingApi)
            : base(billingApi)
        {
            if (resellerIdentifierProvider == null)
            {
                throw new ArgumentNullException("resellerIdentifierProvider");
            }

            this.resellerIdentifierProvider = resellerIdentifierProvider;
        }
 public SimpleOrderCreator(IEnumerable<OrderDataHandler> orderDataHandlers, PublicBillingApiProxy billingApi, IAuditLogger auditLogger = null) : base(orderDataHandlers, billingApi, auditLogger) 
 { }
        public TokenLoginOrderCreator(PaymentUrlProvider urlProvider, IEnumerable<OrderDataHandler> orderDataHandlers, PublicBillingApiProxy billingApi) 
            : base(orderDataHandlers, billingApi) 
        { 
            if (urlProvider == null)
            {
                throw new ArgumentException("urlProvider");
            }

            this.urlProvider = urlProvider;
        }