public override void Initialize() { var settingsManager = _container.Resolve<ISettingsManager>(); var avalaraTax = new AvaTaxSettings(_usernamePropertyName, _passwordPropertyName, _serviceUrlPropertyName, _companyCodePropertyName, _isEnabledPropertyName, _isValidateAddressPropertyName, settingsManager); var logManager = _container.Resolve<ILog>(); _container.RegisterType<AvaTaxController> (new InjectionConstructor( avalaraTax, logManager)); _container.RegisterInstance<ITaxSettings>(avalaraTax); //Subscribe to cart changes. Calculate taxes _container.RegisterType<IObserver<CartChangeEvent>, CalculateCartTaxesObserver>("CalculateCartTaxesObserver"); //Subscribe to order changes. Calculate taxes _container.RegisterType<IObserver<OrderChangeEvent>, CalculateOrderTaxesObserver>("CalculateOrderTaxesObserver"); //Subscribe to order changes. Calculate taxes _container.RegisterType<IObserver<OrderChangeEvent>, CancelOrderTaxesObserver>("CancelOrderTaxesObserver"); //Subscribe to order changes. Adjust taxes _container.RegisterType<IObserver<OrderChangeEvent>, CalculateTaxAdjustmentObserver>("CalculateTaxAdjustmentObserver"); }
public override void Initialize() { var eventListener = new ObservableEventListener(); eventListener.EnableEvents( VirtoCommerceEventSource.Log, EventLevel.LogAlways, Keywords.All); var assetsConnection = ConfigurationManager.ConnectionStrings["AssetsConnectionString"]; if (assetsConnection != null) { var properties = assetsConnection.ConnectionString.ToDictionary(";", "="); var provider = properties["provider"]; var assetsConnectionString = properties.ToString(";", "=", "provider"); if (string.Equals(provider, FileSystemBlobProvider.ProviderName, StringComparison.OrdinalIgnoreCase)) { eventListener.LogToRollingFlatFile("AvaTax.log", 10000, "hh", RollFileExistsBehavior.Increment, RollInterval.Day); } else if (string.Equals(provider, AzureBlobProvider.ProviderName, StringComparison.OrdinalIgnoreCase)) { eventListener.LogToWindowsAzureTable( "VirtoCommerce2", assetsConnectionString); } } var settingsManager = _container.Resolve<ISettingsManager>(); var avalaraTax = new AvaTaxSettings(_usernamePropertyName, _passwordPropertyName, _serviceUrlPropertyName, _companyCodePropertyName, _isEnabledPropertyName, _isValidateAddressPropertyName, settingsManager); _container.RegisterType<AvaTaxController> (new InjectionConstructor( avalaraTax)); _container.RegisterInstance<ITaxSettings>(avalaraTax); //Subscribe to cart changes. Calculate taxes _container.RegisterType<IObserver<CartChangeEvent>, CalculateCartTaxesObserver>("CalculateCartTaxesObserver"); //Subscribe to order changes. Calculate taxes _container.RegisterType<IObserver<OrderChangeEvent>, CalculateOrderTaxesObserver>("CalculateOrderTaxesObserver"); //Subscribe to order changes. Calculate taxes _container.RegisterType<IObserver<OrderChangeEvent>, CancelOrderTaxesObserver>("CancelOrderTaxesObserver"); //Subscribe to order changes. Adjust taxes _container.RegisterType<IObserver<OrderChangeEvent>, CalculateTaxAdjustmentObserver>("CalculateTaxAdjustmentObserver"); }
private static AvaTaxController GetTaxController() { var avalaraUsername = "******"; var avalaraPassword = "******"; var avalaraServiceUrl = "https://development.avalara.net"; var avalaraCompanyCode = "APITrialCompany"; const string _usernamePropertyName = "Avalara.Tax.Credentials.AccountNumber"; const string _passwordPropertyName = "Avalara.Tax.Credentials.LicenseKey"; const string _serviceUrlPropertyName = "Avalara.Tax.Credentials.ServiceUrl"; const string _companyCodePropertyName = "Avalara.Tax.Credentials.CompanyCode"; const string _isEnabledPropertyName = "Avalara.Tax.IsEnabled"; const string _isValidateAddressPropertyName = "Avalara.Tax.IsValidateAddress"; var settings = new List<SettingEntry> { new SettingEntry { Value = avalaraUsername, Name = _usernamePropertyName, ValueType = SettingValueType.ShortText }, new SettingEntry { Value = avalaraPassword, Name = _passwordPropertyName, ValueType = SettingValueType.ShortText }, new SettingEntry { Value = avalaraServiceUrl, Name = _serviceUrlPropertyName, ValueType = SettingValueType.ShortText }, new SettingEntry { Value = avalaraCompanyCode, Name = _companyCodePropertyName, ValueType = SettingValueType.ShortText }, new SettingEntry { Value = "True", Name = _isEnabledPropertyName, ValueType = SettingValueType.Boolean } }; var settingsManager = new Moq.Mock<ISettingsManager>(); settingsManager.Setup(manager => manager.GetValue(_usernamePropertyName, string.Empty)).Returns(() => settings.First(x => x.Name == _usernamePropertyName).Value); settingsManager.Setup(manager => manager.GetValue(_passwordPropertyName, string.Empty)).Returns(() => settings.First(x => x.Name == _passwordPropertyName).Value); settingsManager.Setup(manager => manager.GetValue(_serviceUrlPropertyName, string.Empty)).Returns(() => settings.First(x => x.Name == _serviceUrlPropertyName).Value); settingsManager.Setup(manager => manager.GetValue(_companyCodePropertyName, string.Empty)).Returns(() => settings.First(x => x.Name == _companyCodePropertyName).Value); settingsManager.Setup(manager => manager.GetValue(_isEnabledPropertyName, true)).Returns(() => true); settingsManager.Setup(manager => manager.GetValue(_isValidateAddressPropertyName, true)).Returns(() => true); var avalaraTax = new AvaTaxSettings(_usernamePropertyName, _passwordPropertyName, _serviceUrlPropertyName, _companyCodePropertyName, _isEnabledPropertyName, _isValidateAddressPropertyName, settingsManager.Object); var controller = new AvaTaxController(avalaraTax); return controller; }