/// <summary>
 /// Initializes a new instance of the <see cref="TaxationGatewayProviderBase"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="gatewayProviderSettings">
 /// The gateway provider settings.
 /// </param>
 /// <param name="runtimeCacheProvider">
 /// The runtime cache provider.
 /// </param>
 protected TaxationGatewayProviderBase(
     IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProviderSettings, 
     IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {            
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="BraintreePaymentGatewayMethodBase"/> class.
        /// </summary>
        /// <param name="gatewayProviderService">
        /// The gateway provider service.
        /// </param>
        /// <param name="paymentMethod">
        /// The payment method.
        /// </param>
        /// <param name="braintreeApiService">
        /// The braintree api service.
        /// </param>
        protected BraintreePaymentGatewayMethodBase(IGatewayProviderService gatewayProviderService, IPaymentMethod paymentMethod, IBraintreeApiService braintreeApiService)
            : base(gatewayProviderService, paymentMethod)
        {
            Mandate.ParameterNotNull(braintreeApiService, "braintreeApiService");

            _braintreeApiService = braintreeApiService;
        }
        public void Init()
        {
            _gatewayProviderService = PreTestDataWorker.GatewayProviderService;
            _storeSettingService = PreTestDataWorker.StoreSettingService;
            _shipCountryService = PreTestDataWorker.ShipCountryService;

            _merchelloContext = new MerchelloContext(new ServiceContext(new PetaPocoUnitOfWorkProvider()),
                new CacheHelper(new NullCacheProvider(),
                    new NullCacheProvider(),
                    new NullCacheProvider()));

            _catalog = PreTestDataWorker.WarehouseService.GetDefaultWarehouse().WarehouseCatalogs.FirstOrDefault();

            PreTestDataWorker.DeleteAllShipCountries();
            var country = _storeSettingService.GetCountryByCode("US");
            var shipCountry = new ShipCountry(_catalog.Key, country);
            _shipCountryService.Save(shipCountry);

            var shippingProvider =
               (FixedRateShippingGatewayProvider) _merchelloContext.Gateways.Shipping.CreateInstance(Core.Constants.ProviderKeys.Shipping.FixedRateShippingProviderKey);
            Assert.NotNull(shippingProvider);

            var resource = shippingProvider.ListResourcesOffered().FirstOrDefault();
            var gatewayShipMethod = shippingProvider.CreateShippingGatewayMethod(resource, shipCountry, "Ground");
            shippingProvider.SaveShippingGatewayMethod(gatewayShipMethod);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="FixedRateTaxationGatewayProvider"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="gatewayProviderSettings">
 /// The gateway provider settings.
 /// </param>
 /// <param name="runtimeCacheProvider">
 /// The runtime cache provider.
 /// </param>
 public FixedRateTaxationGatewayProvider(
     IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProviderSettings,
     IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CashPaymentGatewayProvider"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="gatewayProviderSettings">
 /// The gateway provider settings.
 /// </param>
 /// <param name="runtimeCacheProvider">
 /// The runtime cache provider.
 /// </param>
 public CashPaymentGatewayProvider(
     IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProviderSettings,
     IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
        public override void FixtureSetup()
        {
            base.FixtureSetup();

            // assert we have our defaults setup
            var dtos = PreTestDataWorker.Database.Query<WarehouseDto>("SELECT * FROM merchWarehouse");
            var catalogs = PreTestDataWorker.Database.Query<WarehouseCatalogDto>("SELECT * FROM merchWarehouseCatalog");

            if (!dtos.Any() || !catalogs.Any())
            {
                Assert.Ignore("Warehouse defaults are not installed.");
            }

            // TODO : This is only going to be the case for the initial Merchello release
            Catalog = PreTestDataWorker.WarehouseService.GetDefaultWarehouse().WarehouseCatalogs.FirstOrDefault();

            if (Catalog == null)
            {
                Assert.Ignore("Warehouse Catalog is null");
            }

            GatewayProviderService = PreTestDataWorker.GatewayProviderService;
            StoreSettingService = PreTestDataWorker.StoreSettingService;
            ShipCountryService = PreTestDataWorker.ShipCountryService;

            PreTestDataWorker.DeleteAllShipCountries();
            const string countryCode = "US";

            var us = StoreSettingService.GetCountryByCode(countryCode);
            var shipCountry = new ShipCountry(Catalog.Key, us);
            ShipCountryService.Save(shipCountry);

            var dk = StoreSettingService.GetCountryByCode("DK");
            ShipCountryService.Save(new ShipCountry(Catalog.Key, dk));
        }
 /// <summary>
 /// This is a helper contructor for unit testing
 /// </summary>
 internal CatalogShippingApiController(MerchelloContext merchelloContext, UmbracoContext umbracoContext)
     : base(merchelloContext, umbracoContext)
 {
     _gatewayProviderService = MerchelloContext.Services.GatewayProviderService;
     _storeSettingService = MerchelloContext.Services.StoreSettingService;
     _shipCountryService = ((ServiceContext)MerchelloContext.Services).ShipCountryService;
 }
        public SmtpNotificationGatewayMethod(IGatewayProviderService gatewayProviderService, INotificationMethod notificationMethod, ExtendedDataCollection extendedData)
            : base(gatewayProviderService, notificationMethod)
        {
            Mandate.ParameterNotNull(extendedData, "extendedData");

            _settings = extendedData.GetSmtpProviderSettings();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="BraintreeSubscriptionRecordPaymentMethod"/> class.
        /// </summary>
        /// <param name="gatewayProviderService">
        /// The gateway provider service.
        /// </param>
        /// <param name="paymentMethod">
        /// The payment method.
        /// </param>
        /// <param name="braintreeApiService">The <see cref="IBraintreeApiService"/></param>
        public BraintreeSubscriptionRecordPaymentMethod(IGatewayProviderService gatewayProviderService, IPaymentMethod paymentMethod, IBraintreeApiService braintreeApiService)
            : base(gatewayProviderService, paymentMethod)
        {
            Mandate.ParameterNotNull(braintreeApiService, "braintreeApiService");

            _braintreeApiService = braintreeApiService;
        }
 public FedExShippingGatewayProvider(IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProvider, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProvider, runtimeCacheProvider)
 {
     _settings = new FedExProcessorSettings();
     _runtimeCache = runtimeCacheProvider;
 }
        private void GatewayProviderServiceOnSaved(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> args)
        {
            var key = new Guid(Constants.GatewayProviderSettingsKey);
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);
            if (provider == null) return;

            MappingExtensions.SaveProcessorSettings(provider.ExtendedData, new SagePayProcessorSettings());
        }
        protected NotificationGatewayMethodBase(IGatewayProviderService gatewayProviderService, INotificationMethod notificationMethod)
        {
            Mandate.ParameterNotNull(gatewayProviderService, "gatewayProviderService");
            Mandate.ParameterNotNull(notificationMethod, "notificationMethod");

            _notificationMethod = notificationMethod;
            _gatewayProviderService = gatewayProviderService;
        }
        protected PaymentGatewayMethodBase(IGatewayProviderService gatewayProviderService, IPaymentMethod paymentMethod)
        {
            Mandate.ParameterNotNull(gatewayProviderService, "gatewayProviderService");
            Mandate.ParameterNotNull(paymentMethod, "paymentMethod");

            _gatewayProviderService = gatewayProviderService;
            _paymentMethod = paymentMethod;
        }
 public SmtpNotificationGatewayProvider(
     IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProviderSettings,
     IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
     
 }
            private static void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> args)
            {
                var key = new Guid("15C87B6F-7987-49D9-8444-A2B4406941A8");
                var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);
                if (provider == null) return;

                provider.ExtendedData.SaveProcessorSettings(new StripeProcessorSettings());
            }
Esempio n. 16
0
        private void GatewayProviderServiceOnSaved(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> args)
        {
            var key = new Guid("5F2E88D1-6D07-4809-B9AB-D4D6036473E9");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);
            if (provider == null) return;

            provider.ExtendedData.SaveSmtpProviderSettings(new SmtpNotificationGatewayProviderSettings());
        }
        private static void GatewayProviderServiceOnSaved(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> args)
        {
            var key = new Guid("C6BF6743-3565-401F-911A-33B68CACB11B");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);
            if (provider == null) return;

            provider.ExtendedData.SaveProcessorSettings(new AuthorizeNetProcessorSettings());
        }
Esempio n. 18
0
        /// <summary>
        /// The gateway provider service on saved.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="args">
        /// The args.
        /// </param>
        private static void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> args)
        {
            var key = new Guid("A5C2BFE1-CC2E-4809-9334-2C215E9E20E0");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null) return;

            provider.ExtendedData.SaveProcessorSettings(new PurchaseOrderProcessorSettings());
        }
Esempio n. 19
0
        /// <summary>
        /// The gateway provider service on saving.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="saveEventArgs">
        /// The save event args.
        /// </param>
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> saveEventArgs)
        {
            var key = new Guid("ddb4b1e5-75ec-4c3f-9a05-a51dbad34b4a");
            var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null) return;

            provider.ExtendedData.SaveProviderSettings(new TaxJarProviderSettings());
        }
        /// <summary>
        /// The gateway provider service on saving.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="saveEventArgs">
        /// The save event args.
        /// </param>
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> saveEventArgs)
        {
            var key = new Guid("D143E0F6-98BB-4E0A-8B8C-CE9AD91B0969");
            var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null) return;

            provider.ExtendedData.SaveProviderSettings(new BraintreeProviderSettings());
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="merchelloContext"></param>
        public ShippingGatewayApiController(MerchelloContext merchelloContext)
            : base(merchelloContext)
        {
            _shippingContext = MerchelloContext.Gateways.Shipping;

            _gatewayProviderService = MerchelloContext.Services.GatewayProviderService;
            _storeSettingService = MerchelloContext.Services.StoreSettingService;
            _shipCountryService = ((ServiceContext)MerchelloContext.Services).ShipCountryService;
        }
Esempio n. 22
0
        /// <summary>
        /// The gateway provider service on saving.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="saveEventArgs">
        /// The save event args.
        /// </param>
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> saveEventArgs)
        {
            var key = new Guid("DBC48C38-0617-44EA-989A-18AAD8D5DE52");
            var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null) return;

            provider.ExtendedData.SaveProviderSettings(new AvaTaxProviderSettings());
        }
Esempio n. 23
0
        internal GatewayContext(IServiceContext serviceContext, IGatewayProviderResolver resolver)
        {
            Mandate.ParameterNotNull(serviceContext, "serviceContext");
            Mandate.ParameterNotNull(resolver, "resolver");
            _gatewayProviderService = serviceContext.GatewayProviderService;
            _resolver = resolver;

            BuildGatewayContext(serviceContext.GatewayProviderService, serviceContext.StoreSettingService);
        }
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> saveEventArgs)
        {
            var key = new Guid(Constants.ProviderId);

              var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);
              if (provider == null) return;

              provider.ExtendedData.SaveProviderSettings(new QuickPayProviderSettings());
        }
Esempio n. 25
0
        /// <summary>
        /// The gateway provider service on saved.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="args">
        /// The args.
        /// </param>
        private static void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs<IGatewayProviderSettings> args)
        {
            var key = new Guid("D584F356-454B-4D14-BE44-13D9D25D6A74");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null) return;

            provider.ExtendedData.SaveProcessorSettings(new ChaseProcessorSettings());
        }
Esempio n. 26
0
        public void FixtureSetup()
        {
            SqlSyntaxProviderTestHelper.EstablishSqlSyntax();

            var cacheProvider = new Mock<IRuntimeCacheProvider>();

            GatewayProviderService = new GatewayProviderService();

            var providers =
                GatewayProviderService.GetAllGatewayProviders()
                    .Where(x => x.GatewayProviderType == GatewayProviderType.Payment);

            GatewayProvider = providers.FirstOrDefault(x => x.Key == new Guid("C6BF6743-3565-401F-911A-33B68CACB11B"));

            if (GatewayProvider != null)
            {
                GatewayProviderService.Delete(GatewayProvider);
            }

            var petaPoco = new PetaPocoUnitOfWorkProvider();

            var xLogin = ConfigurationManager.AppSettings["xlogin"];
            var xtrankey = ConfigurationManager.AppSettings["xtrankey"];

            var sql = new Sql();

            var dto = new GatewayProviderDto()
            {
                Key = new Guid("C6BF6743-3565-401F-911A-33B68CACB11B"),
                Name = "AuthorizeNet",
                Description = "AuthorizeNet",
                TypeFullName =
                    "Merchello.Plugin.Payments.AuthorizeNet.AuthorizeNetPaymentGatewayProvider, Merchello.Plugin.Payments.AuthorizeNet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
                ExtendedData = "<extendedData />",
                EncryptExtendedData = false,
                ProviderTfKey = Constants.TypeFieldKeys.GatewayProvider.PaymentProviderKey,
                CreateDate = DateTime.Now,
                UpdateDate = DateTime.Now
            };

            petaPoco.GetUnitOfWork().Database.Insert(dto);

            GatewayProvider =
                GatewayProviderService.GetGatewayProviderByKey(new Guid("C6BF6743-3565-401F-911A-33B68CACB11B"));

            var providerSettings = new AuthorizeNetProcessorSettings()
            {
                LoginId = xLogin,
                TransactionKey = xtrankey
            };

            GatewayProvider.ExtendedData.SaveProcessorSettings(providerSettings);

            Provider = new AuthorizeNetPaymentGatewayProvider(GatewayProviderService, GatewayProvider,
                cacheProvider.Object);
        }
Esempio n. 27
0
        public void FixtureSetup()
        {
            SqlSyntaxProviderTestHelper.EstablishSqlSyntax();

            var cacheProvider = new Mock<IRuntimeCacheProvider>();

            GatewayProviderService = new GatewayProviderService();

            var providers =
                GatewayProviderService.GetAllGatewayProviders()
                    .Where(x => x.GatewayProviderType == GatewayProviderType.Payment);

            GatewayProviderSettings = providers.FirstOrDefault(x => x.Key == new Guid("15C87B6F-7987-49D9-8444-A2B4406941A8"));

            if (GatewayProviderSettings != null)
            {
                GatewayProviderService.Delete(GatewayProviderSettings);
            }

            var petaPoco = new PetaPocoUnitOfWorkProvider();

            var xLogin = ConfigurationManager.AppSettings["xlogin"];
            var xtrankey = ConfigurationManager.AppSettings["xtrankey"];

            var sql = new Sql();

            var dto = new GatewayProviderSettingsDto()
            {
                Key = new Guid("15C87B6F-7987-49D9-8444-A2B4406941A8"),
                Name = "Stripe",
                Description = "Stripe",
                ExtendedData = "<extendedData />",
                EncryptExtendedData = false,
                ProviderTfKey = Constants.TypeFieldKeys.GatewayProvider.PaymentProviderKey,
                CreateDate = DateTime.Now,
                UpdateDate = DateTime.Now
            };


            petaPoco.GetUnitOfWork().Database.Insert(dto);

            GatewayProviderSettings =
                GatewayProviderService.GetGatewayProviderByKey(new Guid("15C87B6F-7987-49D9-8444-A2B4406941A8"));

            var providerSettings = new StripeProcessorSettings()
            {
                // TODO
                //LoginId = xLogin,
                //TransactionKey = xtrankey
            };

            GatewayProviderSettings.ExtendedData.SaveProcessorSettings(providerSettings);

            Provider = new StripePaymentGatewayProvider(GatewayProviderService, GatewayProviderSettings,
                cacheProvider.Object);
        }
Esempio n. 28
0
        /// <summary>
        /// The save.
        /// </summary>
        /// <param name="gatewayProviderService">
        /// The gateway provider service.
        /// </param>
        /// <param name="cache">
        /// The cache.
        /// </param>
        /// <param name="rateTable">
        /// The rate table.
        /// </param>
        internal static void Save(IGatewayProviderService gatewayProviderService, IRuntimeCacheProvider cache, IShippingFixedRateTable rateTable)
        {
            // clear the current cached item
            // TODO : This should use the distributed cache referesher
            cache.ClearCacheItem(CacheKeys.GatewayShipMethodCacheKey(rateTable.ShipMethodKey));

            // persist and enter into cache
            gatewayProviderService.Save(rateTable.Rows);
            cache.GetCacheItem(CacheKeys.GatewayShipMethodCacheKey(rateTable.ShipMethodKey), () => rateTable);
        }
Esempio n. 29
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GatewayProviderBase"/> class.
        /// </summary>
        /// <param name="gatewayProviderService">The <see cref="IGatewayProviderService"/></param>
        /// <param name="gatewayProviderSettings">The <see cref="IGatewayProviderSettings"/></param>
        /// <param name="runtimeCacheProvider">Umbraco's <see cref="IRuntimeCacheProvider"/></param>
        protected GatewayProviderBase(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider)
        {
            Mandate.ParameterNotNull(gatewayProviderService, "gatewayProviderService");
            Mandate.ParameterNotNull(gatewayProviderSettings, "gatewayProvider");
            Mandate.ParameterNotNull(runtimeCacheProvider, "runtimeCacheProvider");

            _gatewayProviderService = gatewayProviderService;
            _gatewayProviderSettings = gatewayProviderSettings;
            _runtimeCache = runtimeCacheProvider;
        }
Esempio n. 30
0
        protected GatewayProviderBase(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider)
        {
            Mandate.ParameterNotNull(gatewayProviderService, "gatewayProviderService");
            Mandate.ParameterNotNull(gatewayProviderSettings, "gatewayProvider");
            Mandate.ParameterNotNull(runtimeCacheProvider, "runtimeCacheProvider");

            _gatewayProviderService  = gatewayProviderService;
            _gatewayProviderSettings = gatewayProviderSettings;
            _runtimeCache            = runtimeCacheProvider;
        }
Esempio n. 31
0
 /// <summary>
 /// The get ship rate table.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="runtimeCacheProvider">
 /// The runtime cache provider.
 /// </param>
 /// <param name="shipMethodKey">
 /// The ship method key.
 /// </param>
 /// <returns>
 /// The <see cref="ShippingFixedRateTable"/>.
 /// </returns>
 internal static ShippingFixedRateTable GetShipRateTable(IGatewayProviderService gatewayProviderService, IRuntimeCacheProvider runtimeCacheProvider, Guid shipMethodKey)
 {
     return((ShippingFixedRateTable)runtimeCacheProvider.GetCacheItem(
                CacheKeys.GatewayShipMethodCacheKey(shipMethodKey),
                delegate
     {
         var rows = gatewayProviderService.GetShipRateTiersByShipMethodKey(shipMethodKey);
         return new ShippingFixedRateTable(shipMethodKey, rows);
     }));
 }
Esempio n. 32
0
        public void FixtureSetup()
        {
            SqlSyntaxProviderTestHelper.EstablishSqlSyntax();

            var cacheProvider = new Mock <IRuntimeCacheProvider>();

            GatewayProviderService = new GatewayProviderService();

            var providers =
                GatewayProviderService.GetAllGatewayProviders()
                .Where(x => x.GatewayProviderType == GatewayProviderType.Payment);

            GatewayProviderSettings = providers.FirstOrDefault(x => x.Key == new Guid("C6BF6743-3565-401F-911A-33B68CACB11B"));

            if (GatewayProviderSettings != null)
            {
                GatewayProviderService.Delete(GatewayProviderSettings);
            }

            var petaPoco = new PetaPocoUnitOfWorkProvider();

            var xLogin   = ConfigurationManager.AppSettings["xlogin"];
            var xtrankey = ConfigurationManager.AppSettings["xtrankey"];

            var sql = new Sql();

            var dto = new GatewayProviderSettingsDto()
            {
                Key                 = new Guid("C6BF6743-3565-401F-911A-33B68CACB11B"),
                Name                = "AuthorizeNet",
                Description         = "AuthorizeNet",
                ExtendedData        = "<extendedData />",
                EncryptExtendedData = false,
                ProviderTfKey       = Constants.TypeFieldKeys.GatewayProvider.PaymentProviderKey,
                CreateDate          = DateTime.Now,
                UpdateDate          = DateTime.Now
            };


            petaPoco.GetUnitOfWork().Database.Insert(dto);

            GatewayProviderSettings =
                GatewayProviderService.GetGatewayProviderByKey(new Guid("C6BF6743-3565-401F-911A-33B68CACB11B"));

            var providerSettings = new AuthorizeNetProcessorSettings()
            {
                LoginId        = xLogin,
                TransactionKey = xtrankey
            };

            GatewayProviderSettings.ExtendedData.SaveProcessorSettings(providerSettings);

            Provider = new AuthorizeNetPaymentGatewayProvider(GatewayProviderService, GatewayProviderSettings,
                                                              cacheProvider.Object);
        }
Esempio n. 33
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GatewayProviderResolver"/> class.
        /// </summary>
        /// <param name="values">
        /// The values.
        /// </param>
        /// <param name="gatewayProviderService">
        /// The gateway provider service.
        /// </param>
        /// <param name="runtimeCache">
        /// The runtime cache.
        /// </param>
        internal GatewayProviderResolver(IEnumerable <Type> values, IGatewayProviderService gatewayProviderService, IRuntimeCacheProvider runtimeCache)
            : base(values)
        {
            Mandate.ParameterNotNull(gatewayProviderService, "gatewayProviderService");
            Mandate.ParameterNotNull(runtimeCache, "runtimeCache");

            _gatewayProviderService = gatewayProviderService;
            _runtimeCache           = runtimeCache;

            BuildActivatedGatewayProviderCache();
        }
Esempio n. 34
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GatewayContext"/> class.
        /// </summary>
        /// <param name="serviceContext">
        /// The service context.
        /// </param>
        /// <param name="resolver">
        /// The resolver.
        /// </param>
        internal GatewayContext(IServiceContext serviceContext, IGatewayProviderResolver resolver)
        {
            Mandate.ParameterNotNull(serviceContext, "serviceContext");
            Mandate.ParameterNotNull(resolver, "resolver");

            _gatewayProviderService = serviceContext.GatewayProviderService;
            _resolver = resolver;


            BuildGatewayContext(serviceContext.GatewayProviderService, serviceContext.StoreSettingService);
        }
Esempio n. 35
0
            private static void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> args)
            {
                var key      = new Guid("15C87B6F-7987-49D9-8444-A2B4406941A8");
                var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

                if (provider == null)
                {
                    return;
                }

                provider.ExtendedData.SaveProcessorSettings(new StripeProcessorSettings());
            }
Esempio n. 36
0
        private void GatewayProviderServiceOnSaved(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> args)
        {
            var key      = new Guid(Constants.GatewayProviderSettingsKey);
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            MappingExtensions.SaveProcessorSettings(provider.ExtendedData, new SagePayProcessorSettings());
        }
        /// <summary>
        /// The gateway provider service on saved.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="args">
        /// The args.
        /// </param>
        private static void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> args)
        {
            var key      = new Guid("A5C2BFE1-CC2E-4809-9334-2C215E9E20E0");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveProcessorSettings(new PurchaseOrderProcessorSettings());
        }
Esempio n. 38
0
        /// <summary>
        /// The gateway provider service on saving.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="saveEventArgs">
        /// The save event args.
        /// </param>
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> saveEventArgs)
        {
            var key      = new Guid("ddb4b1e5-75ec-4c3f-9a05-a51dbad34b4a");
            var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveProviderSettings(new TaxJarProviderSettings());
        }
Esempio n. 39
0
        /// <summary>
        /// The gateway provider service on saved.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="args">
        /// The args.
        /// </param>
        private static void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> args)
        {
            var key      = new Guid("D584F356-454B-4D14-BE44-13D9D25D6A74");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveProcessorSettings(new ChaseProcessorSettings());
        }
        /// <summary>
        /// The gateway provider service on saving.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="saveEventArgs">
        /// The save event args.
        /// </param>
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> saveEventArgs)
        {
            var key      = new Guid("D143E0F6-98BB-4E0A-8B8C-CE9AD91B0969");
            var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveProviderSettings(new BraintreeProviderSettings());
        }
        private static void GatewayProviderServiceOnSaved(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> args)
        {
            var key      = new Guid("C6BF6743-3565-401F-911A-33B68CACB11B");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveProcessorSettings(new AuthorizeNetProcessorSettings());
        }
Esempio n. 42
0
        /// <summary>
        /// The gateway provider service on saving.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="saveEventArgs">
        /// The save event args.
        /// </param>
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> saveEventArgs)
        {
            var key      = new Guid("DBC48C38-0617-44EA-989A-18AAD8D5DE52");
            var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveProviderSettings(new AvaTaxProviderSettings());
        }
        private void GatewayProviderServiceOnSaved(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> args)
        {
            var key      = new Guid("5F2E88D1-6D07-4809-B9AB-D4D6036473E9");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveSmtpProviderSettings(new SmtpNotificationGatewayProviderSettings());
        }
        public override void FixtureSetup()
        {
            base.FixtureSetup();

            var dtos = PreTestDataWorker.Database.Query <GatewayProviderSettingsDto>("SELECT * FROM merchGatewayProviderSettings");

            if (!dtos.Any())
            {
                Assert.Ignore("Default GatewayProviders are not installed.");
            }

            GatewayProviderService = PreTestDataWorker.GatewayProviderService;
        }
        private void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> saveEventArgs)
        {
            var key = new Guid(Constants.ProviderId);

            var provider = saveEventArgs.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            provider.ExtendedData.SaveProviderSettings(new QuickPayProviderSettings());
        }
Esempio n. 46
0
        public override void FixtureSetup()
        {
            base.FixtureSetup();

            var dtos = PreTestDataWorker.Database.Query<GatewayProviderSettingsDto>("SELECT * FROM merchGatewayProviderSettings");

            if (!dtos.Any())
            {
                Assert.Ignore("Default GatewayProviders are not installed.");
            }

            GatewayProviderService = PreTestDataWorker.GatewayProviderService;
        }
Esempio n. 47
0
        private void BuildGatewayContext(IGatewayProviderService gatewayProviderService, IStoreSettingService storeSettingService)
        {
            if(_notification == null)
                _notification = new Lazy<INotificationContext>(() => new NotificationContext(gatewayProviderService, _resolver));

            if (_payment == null)
                _payment = new Lazy<IPaymentContext>(() => new PaymentContext(gatewayProviderService, _resolver));

            if(_shipping == null) 
                _shipping = new Lazy<IShippingContext>(() => new ShippingContext(gatewayProviderService, storeSettingService, _resolver));
           
            if(_taxation == null)
                _taxation = new Lazy<ITaxationContext>(() => new TaxationContext(gatewayProviderService, _resolver));

        }
Esempio n. 48
0
        private void GatewayProviderServiceOnSaved(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> args)
        {
            var key      = new Guid("5F2E88D1-6D07-4809-B9AB-D4D6036473E9");
            var provider = args.SavedEntities.FirstOrDefault(x => key == x.Key && !x.HasIdentity);

            if (provider == null)
            {
                return;
            }

            var settings = new SmtpNotificationGatewayProviderSettings("smtp.gmail.com")
            {
                Port      = 587,
                EnableSsl = true,
                UserName  = "******",
                Password  = "******"
            };

            provider.ExtendedData.SaveSmtpProviderSettings(settings);
        }
Esempio n. 49
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PayPalApiController"/> class.
        /// </summary>
        /// <param name="merchelloContext">
        /// The <see cref="IMerchelloContext"/>.
        /// </param>
        public PayPalApiController(IMerchelloContext merchelloContext)
        {
            if (merchelloContext == null)
            {
                throw new ArgumentNullException("merchelloContext");
            }

            var provider = (PayPalPaymentGatewayProvider)merchelloContext.Gateways.Payment.GetProviderByKey(Constants.GatewayProviderSettingsKey);

            if (provider == null)
            {
                var ex = new NullReferenceException("The PayPalPaymentGatewayProvider could not be resolved.  The provider must be activiated");
                LogHelper.Error <PayPalApiController>("PayPalPaymentGatewayProvider not activated.", ex);
                throw ex;
            }

            _invoiceService         = merchelloContext.Services.InvoiceService;
            _paymentService         = merchelloContext.Services.PaymentService;
            _gatewayProviderService = merchelloContext.Services.GatewayProviderService;

            _processor = new PayPalPaymentProcessor(provider.ExtendedData.GetProcessorSettings());
        }
Esempio n. 50
0
        private void BuildGatewayContext(IGatewayProviderService gatewayProviderService, IStoreSettingService storeSettingService)
        {
            if (_notification == null)
            {
                _notification = new Lazy <INotificationContext>(() => new NotificationContext(gatewayProviderService, _resolver));
            }

            if (_payment == null)
            {
                _payment = new Lazy <IPaymentContext>(() => new PaymentContext(gatewayProviderService, _resolver));
            }

            if (_shipping == null)
            {
                _shipping = new Lazy <IShippingContext>(() => new ShippingContext(gatewayProviderService, storeSettingService, _resolver));
            }

            if (_taxation == null)
            {
                _taxation = new Lazy <ITaxationContext>(() => new TaxationContext(gatewayProviderService, _resolver));
            }
        }
Esempio n. 51
0
        public override void FixtureSetup()
        {
            base.FixtureSetup();

            // assert we have our defaults setup
            var dtos     = PreTestDataWorker.Database.Query <WarehouseDto>("SELECT * FROM merchWarehouse");
            var catalogs = PreTestDataWorker.Database.Query <WarehouseCatalogDto>("SELECT * FROM merchWarehouseCatalog");

            if (!dtos.Any() || !catalogs.Any())
            {
                Assert.Ignore("Warehouse defaults are not installed.");
            }

            // TODO : This is only going to be the case for the initial Merchello release
            Catalog = PreTestDataWorker.WarehouseService.GetDefaultWarehouse().WarehouseCatalogs.FirstOrDefault();

            if (Catalog == null)
            {
                Assert.Ignore("Warehouse Catalog is null");
            }

            GatewayProviderService = PreTestDataWorker.GatewayProviderService;
            StoreSettingService    = PreTestDataWorker.StoreSettingService;
            ShipCountryService     = PreTestDataWorker.ShipCountryService;


            PreTestDataWorker.DeleteAllShipCountries();
            const string countryCode = "US";

            var us          = StoreSettingService.GetCountryByCode(countryCode);
            var shipCountry = new ShipCountry(Catalog.Key, us);

            ShipCountryService.Save(shipCountry);

            var dk = StoreSettingService.GetCountryByCode("DK");

            ShipCountryService.Save(new ShipCountry(Catalog.Key, dk));
        }
Esempio n. 52
0
        /// <summary>
        /// The delete row.
        /// </summary>
        /// <param name="gatewayProviderService">
        /// The gateway provider service.
        /// </param>
        /// <param name="cache">
        /// The cache.
        /// </param>
        /// <param name="rateTable">
        /// The rate table.
        /// </param>
        /// <param name="shipRateTier">
        /// The ship rate tier.
        /// </param>
        internal static void DeleteRow(IGatewayProviderService gatewayProviderService, IRuntimeCacheProvider cache, IShippingFixedRateTable rateTable, IShipRateTier shipRateTier)
        {
            var row = rateTable.Rows.FirstOrDefault(x => x.Key == shipRateTier.Key);

            if (!rateTable.Rows.Any() || row == null)
            {
                return;
            }

            if (rateTable.Rows.IndexOf(rateTable.Rows.Last()) != rateTable.Rows.IndexOf(row))
            {
                rateTable.Rows.First(x => x.RangeLow == row.RangeHigh).RangeLow = row.RangeLow;
            }

            // clear the current cached item
            // TODO : This should use the distributed cache referesher
            cache.ClearCacheItem(CacheKeys.GatewayShipMethodCacheKey(rateTable.ShipMethodKey));

            gatewayProviderService.Save(rateTable.Rows);
            gatewayProviderService.Delete(shipRateTier);

            cache.GetCacheItem(CacheKeys.GatewayShipMethodCacheKey(rateTable.ShipMethodKey), () => rateTable, TimeSpan.FromHours(6));
        }
        /// <summary>
        /// The gateway provider service on saving.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The save event args.
        /// </param>
        private static void GatewayProviderServiceOnSaving(IGatewayProviderService sender, SaveEventArgs <IGatewayProviderSettings> e)
        {
            foreach (var record in e.SavedEntities.ToArray())
            {
                if (record == null || record.HasIdentity)
                {
                    continue;
                }

                // we have to include inactive providers here since this is the process of activating the provider
                var provider = MerchelloContext.Current.Gateways.Payment.GetProviderByKey(record.Key, false);
                if (provider == null)
                {
                    continue;
                }

                var attempt = ProviderSettingsResolver.Current.ResolveByType(provider.GetType());

                if (attempt.Success)
                {
                    record.SaveProviderSettings(provider, attempt.Result);
                }
            }
        }
Esempio n. 54
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ChasePaymentGatewayMethod"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="paymentMethod">
 /// The payment method.
 /// </param>
 /// <param name="providerExtendedData">
 /// The provider extended data.
 /// </param>
 public ChasePaymentGatewayMethod(IGatewayProviderService gatewayProviderService, IPaymentMethod paymentMethod, ExtendedDataCollection providerExtendedData)
     : base(gatewayProviderService, paymentMethod)
 {
     _processor = new ChasePaymentProcessor(providerExtendedData.GetProcessorSettings());
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BraintreeVaultTransactionPaymentGatewayMethod"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="paymentMethod">
 /// The payment method.
 /// </param>
 /// <param name="braintreeApiService">
 /// The braintree api service.
 /// </param>
 public BraintreeVaultTransactionPaymentGatewayMethod(IGatewayProviderService gatewayProviderService, IPaymentMethod paymentMethod, IBraintreeApiService braintreeApiService)
     : base(gatewayProviderService, paymentMethod, braintreeApiService)
 {
     this.Initialize();
 }
Esempio n. 56
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PurchaseOrderPaymentGatewayMethod"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="paymentMethod">
 /// The payment method.
 /// </param>
 public PurchaseOrderPaymentGatewayMethod(IGatewayProviderService gatewayProviderService, IPaymentMethod paymentMethod)
     : base(gatewayProviderService, paymentMethod)
 {
 }
Esempio n. 57
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PaymentContext"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="resolver">
 /// The resolver.
 /// </param>
 public PaymentContext(IGatewayProviderService gatewayProviderService, IGatewayProviderResolver resolver)
     : base(gatewayProviderService, resolver)
 {
 }
Esempio n. 58
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ShippingGatewayProviderBase"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="gatewayProviderSettings">
 /// The gateway provider settings.
 /// </param>
 /// <param name="runtimeCacheProvider">
 /// The runtime cache provider.
 /// </param>
 protected ShippingGatewayProviderBase(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
Esempio n. 59
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PayPalExpressCheckoutPaymentGatewayMethod"/> class.
 /// </summary>
 /// <param name="gatewayProviderService">
 /// The gateway provider service.
 /// </param>
 /// <param name="paymentMethod">
 /// The payment method.
 /// </param>
 /// <param name="paypalApiService">
 /// The <see cref="IPayPalApiService"/>.
 /// </param>
 public PayPalExpressCheckoutPaymentGatewayMethod(IGatewayProviderService gatewayProviderService, IPaymentMethod paymentMethod, IPayPalApiService paypalApiService)
     : base(gatewayProviderService, paymentMethod)
 {
     Ensure.ParameterNotNull(paypalApiService, "payPalApiService");
     this._paypalApiService = paypalApiService;
 }
Esempio n. 60
0
 /// <summary>
 /// Returns a collection of <see cref="IAppliedPayment"/> for this <see cref="IInvoice"/>
 /// </summary>
 /// <param name="invoice">The <see cref="IInvoice"/></param>
 /// <param name="gatewayProviderService">The <see cref="IGatewayProviderService"/></param>
 /// <returns>A collection of <see cref="IAppliedPayment"/></returns>
 public static IEnumerable <IAppliedPayment> AppliedPayments(
     this IInvoice invoice,
     IGatewayProviderService gatewayProviderService)
 {
     return(gatewayProviderService.GetAppliedPaymentsByInvoiceKey(invoice.Key));
 }