/// <summary> /// Create new instance connected to current reseller /// </summary> public PaymentMethodsProvider(IResellerDataProvider resellerDataProvider, PublicBillingApiProxy billingApi) : base(billingApi) { if (resellerDataProvider == null) { throw new ArgumentNullException("resellerDataProvider"); } resellerData = resellerDataProvider.GetResellerAccountData(); }
/// <summary> /// Get current reseller from Atomia Billing. /// </summary public Reseller GetReseller() { var resellerData = resellerDataProvider.GetResellerAccountData(); var defaultResellerData = resellerDataProvider.GetDefaultResellerAccountData(); var reseller = new Reseller { Id = resellerData.Id, IsSubReseller = resellerData.Id != defaultResellerData.Id, InclusiveTaxCalculationType = resellerData.InclusiveTaxCalculationType }; return(reseller); }
/// <summary> /// Construct new instance with current reselller /// </summary> public LanguageProvider(IResourceProvider resourceProvider, IResellerDataProvider resellerDataProvider, PublicBillingApiProxy billingApi) : base(billingApi) { if (resourceProvider == null) { throw new ArgumentNullException("resourceProvider"); } if (resellerDataProvider == null) { throw new ArgumentNullException("resellerDataProvider"); } this.resourceProvider = resourceProvider; this.resellerData = resellerDataProvider.GetResellerAccountData(); }
public CurrencyProvider(IResellerDataProvider resellerDataProvider, IResourceProvider resourceProvider, PublicBillingApiProxy billingApi) : base(billingApi) { if (resellerDataProvider == null) { throw new ArgumentNullException("resellerDataProvider"); } if (resourceProvider == null) { throw new ArgumentNullException("resourceProvider"); } this.resellerData = resellerDataProvider.GetResellerAccountData(); this.resourceProvider = resourceProvider; }
/// <summary> /// Construct a new instance /// </summary> public DomainsProvider( IResellerDataProvider resellerDataProvider, ICurrencyPreferenceProvider currencyPreferenceProvider, ApiProductsProvider apiProductsProvider, ProductMapper productMapper, PublicBillingApiProxy billingApi, IShopNameProvider shopNameProvider) : base(billingApi) { if (resellerDataProvider == null) { throw new ArgumentException("resellerDataProvider"); } if (currencyPreferenceProvider == null) { throw new ArgumentException("currencyPreferenceProvider"); } if (apiProductsProvider == null) { throw new ArgumentNullException("apiProductsProvider"); } if (productMapper == null) { throw new ArgumentNullException("productMapper"); } if (shopNameProvider == null) { throw new ArgumentNullException("shopNameProvider"); } var resellerData = resellerDataProvider.GetResellerAccountData(); this.resellerId = resellerData.Id; this.countryCode = resellerData.DefaultCountry.Code; this.currencyCode = currencyPreferenceProvider.GetCurrentCurrency().Code; this.productMapper = productMapper; this.shopNameProvider = shopNameProvider; this.tldProducts = apiProductsProvider.GetProductsByCategories(new List <string> { "TLD" }); }
/// <summary> /// Construct a new instance /// </summary> public DomainsProvider( IResellerDataProvider resellerDataProvider, ICurrencyPreferenceProvider currencyPreferenceProvider, ApiProductsProvider apiProductsProvider, ProductMapper productMapper, PublicBillingApiProxy billingApi, IShopNameProvider shopNameProvider) : base(billingApi) { if (resellerDataProvider == null) { throw new ArgumentException("resellerDataProvider"); } if (currencyPreferenceProvider == null) { throw new ArgumentException("currencyPreferenceProvider"); } if (apiProductsProvider == null) { throw new ArgumentNullException("apiProductsProvider"); } if (productMapper == null) { throw new ArgumentNullException("productMapper"); } if (shopNameProvider == null) { throw new ArgumentNullException("shopNameProvider"); } var resellerData = resellerDataProvider.GetResellerAccountData(); this.resellerId = resellerData.Id; this.countryCode = resellerData.DefaultCountry.Code; this.currencyCode = currencyPreferenceProvider.GetCurrentCurrency().Code; this.productMapper = productMapper; this.shopNameProvider = shopNameProvider; this.tldProducts = apiProductsProvider.GetProductsByCategories(new List<string> { "TLD" }); }
/// <summary> /// Get current reseller account data from cache or get and cache data form base provider. /// </summary> public AccountData GetResellerAccountData() { AccountData resellerData = null; var resellerIdentifier = resellerIdentifierProvider.GetResellerIdentifier(); var cacheKey = "default"; if (resellerIdentifier != null && !string.IsNullOrEmpty(resellerIdentifier.AccountHash)) { cacheKey = resellerIdentifier.AccountHash; } else if (resellerIdentifier != null && !string.IsNullOrEmpty(resellerIdentifier.BaseUrl)) { cacheKey = resellerIdentifier.BaseUrl; } if (!TryGetCachedData(cacheKey, out resellerData)) { resellerData = backingProvider.GetResellerAccountData(); SetCachedData(cacheKey, resellerData); } return(resellerData); }