/// <summary> /// Load all registered TaxCodeProviders /// </summary> protected void LoadProviders() { ITaxProvider defaultProvider; NetTracer.Information("Tax.LoadProviders(): Functions.CountryRegion: {0}", Functions.CountryRegion); //Add default provider switch (Functions.CountryRegion) { case SupportedCountryRegion.IN: defaultProvider = new TaxCodeProviderIndia(Application); break; case SupportedCountryRegion.BR: defaultProvider = new TaxCodeProviderBrazil(Application); break; default: defaultProvider = new TaxCodeProvider(Application); break; } //Load providers from config file Providers = ProviderLoader.Load(defaultProvider); }
/// <summary> /// Get the tax code provider. /// </summary> /// <param name="context">The request context.</param> /// <param name="taxContext">Tax context.</param> /// <returns>The tax code provider.</returns> private static TaxCodeProvider GetTaxProvider(RequestContext context, TaxContext taxContext) { TaxCodeProvider taxCodeProvider; switch (context.GetChannelConfiguration().CountryRegionISOCode) { case CountryRegionISOCode.IN: taxCodeProvider = new TaxCodeProviderIndia(taxContext); break; default: taxCodeProvider = new TaxCodeProvider(taxContext); break; } return(taxCodeProvider); }