Beispiel #1
0
 /// <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="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)
 {
 }
 public FedExShippingGatewayProvider(IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProvider, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProvider, runtimeCacheProvider)
 {
     _settings = new FedExProcessorSettings();
     _runtimeCache = 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)
 {
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="FoaShippingGatewayMethod"/> class.
        /// </summary>
        /// <param name="gatewayResource">
        /// The gateway resource.
        /// </param>
        /// <param name="shipMethod">
        /// The ship method.
        /// </param>
        /// <param name="shipCountry">
        /// The ship country.
        /// </param>
        /// <param name="gatewayProviderSettings">
        /// The gateway provider settings.
        /// </param>
        public FoaShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IGatewayProviderSettings gatewayProviderSettings) : 
            base(gatewayResource, shipMethod, shipCountry)
        {
            _processorSettings = gatewayProviderSettings.ExtendedData.GetProcessorSettings();

            _shipMethod = shipMethod;
        }
 /// <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)
 {            
 }
Beispiel #7
0
 /// <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)
 {
 }
Beispiel #8
0
 public SmtpNotificationGatewayProvider(
     IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProviderSettings,
     IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
Beispiel #9
0
 public FedExShippingGatewayProvider(IGatewayProviderService gatewayProviderService,
                                     IGatewayProviderSettings gatewayProvider, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProvider, runtimeCacheProvider)
 {
     _settings     = new FedExProcessorSettings();
     _runtimeCache = runtimeCacheProvider;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PaymentGatewayProviderBase"/> 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 PaymentGatewayProviderBase(
     IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProviderSettings,
     IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
 public FedExShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayResource, shipMethod, shipCountry)
 {
     _processor = new FedExShippingProcessor(gatewayProviderSettings.ExtendedData.GetProcessorSettings());
     _gatewayProviderSettings = gatewayProviderSettings;
     _shipMethod = shipMethod;
     _runtimeCache = runtimeCacheProvider;
 }
Beispiel #12
0
        /// <summary>
        /// The create instance.
        /// </summary>
        /// <param name="providerSettings">
        /// The provider settings.
        /// </param>
        /// <returns>
        /// The <see cref="Attempt"/>.
        /// </returns>
        private Attempt <GatewayProviderBase> CreateInstance(IGatewayProviderSettings providerSettings)
        {
            var providerType = InstanceTypes.FirstOrDefault(x => x.GetCustomAttribute <GatewayProviderActivationAttribute>(false).Key == providerSettings.Key);

            return(providerSettings == null ?
                   Attempt <GatewayProviderBase> .Fail(new Exception(string.Format("Failed to find type for provider {0}", providerSettings.Name))) :
                   ActivatorHelper.CreateInstance <GatewayProviderBase>(providerType, new object[] { _gatewayProviderService, providerSettings, _runtimeCache }));
        }
Beispiel #13
0
 public FedExShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayResource, shipMethod, shipCountry)
 {
     _processor = new FedExShippingProcessor(gatewayProviderSettings.ExtendedData.GetProcessorSettings());
     _gatewayProviderSettings = gatewayProviderSettings;
     _shipMethod   = shipMethod;
     _runtimeCache = runtimeCacheProvider;
 }
 public SmtpNotificationGatewayProvider(
     IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProviderSettings,
     IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
     
 }
Beispiel #15
0
        /// <summary>
        /// Deletes a <see cref="IGatewayProviderSettings"/>
        /// </summary>
        /// <param name="gatewayProviderSettings"></param>
        /// <param name="raiseEvents">Optional boolean indicating whether or not to raise events</param>
        public void Delete(IGatewayProviderSettings gatewayProviderSettings, bool raiseEvents = true)
        {
            if (raiseEvents)
            {
                Deleting.RaiseEvent(new DeleteEventArgs <IGatewayProviderSettings>(gatewayProviderSettings), this);
            }

            // delete associated methods
            switch (gatewayProviderSettings.GatewayProviderType)
            {
            case GatewayProviderType.Payment:
                var paymentMethods = _paymentMethodService.GetPaymentMethodsByProviderKey(gatewayProviderSettings.Key).ToArray();
                if (paymentMethods.Any())
                {
                    _paymentMethodService.Delete(paymentMethods);
                }
                break;

            case GatewayProviderType.Shipping:
                var shippingMethods = _shipMethodService.GetShipMethodsByProviderKey(gatewayProviderSettings.Key).ToArray();
                if (shippingMethods.Any())
                {
                    _shipMethodService.Delete(shippingMethods);
                }
                break;

            case GatewayProviderType.Taxation:
                var taxMethods = _taxMethodService.GetTaxMethodsByProviderKey(gatewayProviderSettings.Key).ToArray();
                if (taxMethods.Any())
                {
                    _taxMethodService.Delete(taxMethods);
                }
                break;

            case GatewayProviderType.Notification:
                var notificationMethods =
                    _notificationMethodService.GetNotifcationMethodsByProviderKey(gatewayProviderSettings.Key).ToArray();
                if (notificationMethods.Any())
                {
                    _notificationMethodService.Delete(notificationMethods);
                }
                break;
            }

            using (new WriteLock(Locker))
            {
                var uow = UowProvider.GetUnitOfWork();
                using (var repository = RepositoryFactory.CreateGatewayProviderRepository(uow))
                {
                    repository.Delete(gatewayProviderSettings);
                    uow.Commit();
                }
            }
            if (raiseEvents)
            {
                Deleted.RaiseEvent(new DeleteEventArgs <IGatewayProviderSettings>(gatewayProviderSettings), this);
            }
        }
 /// <summary>
 /// Deactivates a <see cref="IGatewayProviderSettings"/>
 /// </summary>
 /// <param name="gatewayProviderSettings">The <see cref="IGatewayProviderSettings"/> to be deactivated</param>
 public void DeactivateProvider(IGatewayProviderSettings gatewayProviderSettings)
 {
     if (!gatewayProviderSettings.Activated)
     {
         return;
     }
     GatewayProviderService.Delete(gatewayProviderSettings);
     GatewayProviderResolver.RefreshCache();
 }
Beispiel #17
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);
        }
Beispiel #18
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);
        }
        /// <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;
        }
Beispiel #20
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;
        }
        internal static IGatewayProviderSettings ToGatewayProvider(this GatewayProviderDisplay gatewayProvider, IGatewayProviderSettings destination)
        {
            if (gatewayProvider.Key != Guid.Empty) destination.Key = gatewayProvider.Key;
            // type key and typeFullName should be handled by the resolver
            destination.Name = gatewayProvider.Name;
            destination.Description = gatewayProvider.Description;
            destination.EncryptExtendedData = gatewayProvider.EncryptExtendedData;

            ((GatewayProviderSettings)destination).ExtendedData = gatewayProvider.ExtendedData.AsExtendedDataCollection();

            return destination;
        }
        public UspsShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCache) : 
            base(gatewayResource, shipMethod, shipCountry)
        {
            _processorSettings = gatewayProviderSettings.ExtendedData.GetProcessorSettings();
            _shipMethod = shipMethod;
            _runtimeCache = runtimeCache;
            _gatewayProviderSettings = gatewayProviderSettings;

            // Express Mail Hold For Pickup
            ServiceLookup[2] = new[] { new UspsDeliveryOption(2, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Express Mail Flat-Rate Envelope Hold For Pickup
            ServiceLookup[27] = new[] { new UspsDeliveryOption(27, 12.5M, 9.5M, 0.75M, Decimal.MaxValue, 70) };

            // Express Mail
            ServiceLookup[3] = new[] { new UspsDeliveryOption(3, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Express Mail Flat-Rate Envelope
            ServiceLookup[13] = new[] { new UspsDeliveryOption(13, 12.5M, 9.5M, 0.75M, Decimal.MaxValue, 70) };

            // Priority Mail
            ServiceLookup[1] = new[] { new UspsDeliveryOption(1, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Priority Mail Flat-Rate Envelope
            ServiceLookup[16] = new[] { new UspsDeliveryOption(16, 12.5M, 9.5M, 0.75M, Decimal.MaxValue, 70) };

            // Priority Mail Small Flat-Rate Box
            ServiceLookup[28] = new[] { new UspsDeliveryOption(28, 5.375M, 8.625M, 1.675M, Decimal.MaxValue, 70) };

            // Priority Mail Regular/Medium Flat-Rate Boxes
            ServiceLookup[17] = new[]
                                    {
                                        new UspsDeliveryOption(17, 11.875M, 13.625M, 3.375M, Decimal.MaxValue, 70),
                                        new UspsDeliveryOption(17, 11M, 8.5M, 5.5M, Decimal.MaxValue, 70)
                                    };

            // Priority Mail Large Flat-Rate Box
            ServiceLookup[22] = new[] { new UspsDeliveryOption(22, 12, 12, 5.5M, Decimal.MaxValue, 70) };

            // Parcel Post
            ServiceLookup[4] = new[] { new UspsDeliveryOption(4, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Bound Printed Matter
            ServiceLookup[5] = new[] { new UspsDeliveryOption(5, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Media Mail
            ServiceLookup[6] = new[] { new UspsDeliveryOption(6, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Library Mail
            ServiceLookup[7] = new[] { new UspsDeliveryOption(7, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };
        }
Beispiel #23
0
        public UspsShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCache) :
            base(gatewayResource, shipMethod, shipCountry)
        {
            _processorSettings       = gatewayProviderSettings.ExtendedData.GetProcessorSettings();
            _shipMethod              = shipMethod;
            _runtimeCache            = runtimeCache;
            _gatewayProviderSettings = gatewayProviderSettings;

            // Express Mail Hold For Pickup
            ServiceLookup[2] = new[] { new UspsDeliveryOption(2, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Express Mail Flat-Rate Envelope Hold For Pickup
            ServiceLookup[27] = new[] { new UspsDeliveryOption(27, 12.5M, 9.5M, 0.75M, Decimal.MaxValue, 70) };

            // Express Mail
            ServiceLookup[3] = new[] { new UspsDeliveryOption(3, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Express Mail Flat-Rate Envelope
            ServiceLookup[13] = new[] { new UspsDeliveryOption(13, 12.5M, 9.5M, 0.75M, Decimal.MaxValue, 70) };

            // Priority Mail
            ServiceLookup[1] = new[] { new UspsDeliveryOption(1, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Priority Mail Flat-Rate Envelope
            ServiceLookup[16] = new[] { new UspsDeliveryOption(16, 12.5M, 9.5M, 0.75M, Decimal.MaxValue, 70) };

            // Priority Mail Small Flat-Rate Box
            ServiceLookup[28] = new[] { new UspsDeliveryOption(28, 5.375M, 8.625M, 1.675M, Decimal.MaxValue, 70) };

            // Priority Mail Regular/Medium Flat-Rate Boxes
            ServiceLookup[17] = new[]
            {
                new UspsDeliveryOption(17, 11.875M, 13.625M, 3.375M, Decimal.MaxValue, 70),
                new UspsDeliveryOption(17, 11M, 8.5M, 5.5M, Decimal.MaxValue, 70)
            };

            // Priority Mail Large Flat-Rate Box
            ServiceLookup[22] = new[] { new UspsDeliveryOption(22, 12, 12, 5.5M, Decimal.MaxValue, 70) };

            // Parcel Post
            ServiceLookup[4] = new[] { new UspsDeliveryOption(4, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Bound Printed Matter
            ServiceLookup[5] = new[] { new UspsDeliveryOption(5, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Media Mail
            ServiceLookup[6] = new[] { new UspsDeliveryOption(6, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };

            // Library Mail
            ServiceLookup[7] = new[] { new UspsDeliveryOption(7, Decimal.MaxValue, Decimal.MaxValue, Decimal.MaxValue, 108, 70) };
        }
        // TODO refactor this
        /// <summary>
        /// The toggle provider activation.
        /// </summary>
        /// <param name="gatewayProviderSettings">
        /// The gateway provider settings.
        /// </param>
        /// <param name="gatewayProviderType">
        /// The gateway provider type.
        /// </param>
        private void ToggleProviderActivation(IGatewayProviderSettings gatewayProviderSettings, GatewayProviderType gatewayProviderType)
        {
            switch (gatewayProviderType)
            {
            case GatewayProviderType.Notification:
                if (gatewayProviderSettings.Activated)
                {
                    _gatewayContext.Notification.DeactivateProvider(gatewayProviderSettings);
                }
                else
                {
                    _gatewayContext.Notification.ActivateProvider(gatewayProviderSettings);
                }
                break;

            case GatewayProviderType.Payment:
                if (gatewayProviderSettings.Activated)
                {
                    _gatewayContext.Payment.DeactivateProvider(gatewayProviderSettings);
                }
                else
                {
                    _gatewayContext.Payment.ActivateProvider(gatewayProviderSettings);
                }
                break;

            case GatewayProviderType.Shipping:
                if (gatewayProviderSettings.Activated)
                {
                    _gatewayContext.Shipping.DeactivateProvider(gatewayProviderSettings);
                }
                else
                {
                    _gatewayContext.Shipping.ActivateProvider(gatewayProviderSettings);
                }
                break;

            case GatewayProviderType.Taxation:
                if (gatewayProviderSettings.Activated)
                {
                    _gatewayContext.Taxation.DeactivateProvider(gatewayProviderSettings);
                }
                else
                {
                    _gatewayContext.Taxation.ActivateProvider(gatewayProviderSettings);
                }
                break;
            }
        }
        /// <summary>
        /// Saves the provider settings.
        /// </summary>
        /// <param name="record">
        /// The record.
        /// </param>
        /// <param name="provider">
        /// The provider.
        /// </param>
        /// <param name="settings">
        /// The settings.
        /// </param>
        internal static void SaveProviderSettings(this IGatewayProviderSettings record, PaymentGatewayProviderBase provider, IPaymentProviderSettings settings)
        {
            var att = provider.ProviderSettingsMapping();

            if (att == null)
            {
                return;
            }

            if (settings.GetType() == att.SettingsType)
            {
                var jsonSerializerSettings = new JsonSerializerSettings {
                    ContractResolver = new CamelCasePropertyNamesContractResolver()
                };
                var json = JsonConvert.SerializeObject(settings, Formatting.None, jsonSerializerSettings);
                record.ExtendedData.SetValue(att.Key, json);
            }
        }
Beispiel #26
0
        /// <summary>
        /// Saves a single instance of a <see cref="IGatewayProviderSettings"/>
        /// </summary>
        /// <param name="gatewayProviderSettings"></param>
        /// <param name="raiseEvents">Optional boolean indicating whether or not to raise events</param>
        public void Save(IGatewayProviderSettings gatewayProviderSettings, bool raiseEvents = true)
        {
            if (raiseEvents)
            {
                Saving.RaiseEvent(new SaveEventArgs <IGatewayProviderSettings>(gatewayProviderSettings), this);
            }

            using (new WriteLock(Locker))
            {
                var uow = UowProvider.GetUnitOfWork();
                using (var repository = RepositoryFactory.CreateGatewayProviderRepository(uow))
                {
                    repository.AddOrUpdate(gatewayProviderSettings);
                    uow.Commit();
                }

                if (raiseEvents)
                {
                    Saved.RaiseEvent(new SaveEventArgs <IGatewayProviderSettings>(gatewayProviderSettings), this);
                }
            }
        }
Beispiel #27
0
 public StripePaymentGatewayProvider(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, Umbraco.Core.Cache.IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
 public UPSShippingGatewayProvider(IGatewayProviderService gatewayProviderService,
     IGatewayProviderSettings gatewayProvider, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProvider, runtimeCacheProvider)
 {
     _processorSettings = base.GatewayProviderSettings.ExtendedData.GetProcessorSettings();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SampleShippingGatewayProvider"/> 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>
 public SampleShippingGatewayProvider(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
        /// <summary>
        /// Saves a single instance of a <see cref="IGatewayProviderSettings"/>
        /// </summary>
        /// <param name="gatewayProviderSettings"></param>
        /// <param name="raiseEvents">Optional boolean indicating whether or not to raise events</param>
        public void Save(IGatewayProviderSettings gatewayProviderSettings, bool raiseEvents = true)
        {
            if (raiseEvents) Saving.RaiseEvent(new SaveEventArgs<IGatewayProviderSettings>(gatewayProviderSettings), this);

            using (new WriteLock(Locker))
            {
                var uow = _uowProvider.GetUnitOfWork();
                using (var repository = _repositoryFactory.CreateGatewayProviderRepository(uow))
                {
                    repository.AddOrUpdate(gatewayProviderSettings);
                    uow.Commit();
                }

                if (raiseEvents) Saved.RaiseEvent(new SaveEventArgs<IGatewayProviderSettings>(gatewayProviderSettings), this);
            }
        }
Beispiel #31
0
        public void TestFixtureSetup()
        {
            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("D584F356-454B-4D14-BE44-13D9D25D6A74"));

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

            var petaPoco = new PetaPocoUnitOfWorkProvider();

            var merchantId = ConfigurationManager.AppSettings["merchantId"];
            var bin        = ConfigurationManager.AppSettings["bin"];
            var username   = ConfigurationManager.AppSettings["username"];
            var password   = ConfigurationManager.AppSettings["password"];
            var sql        = new Sql();

            var dto = new GatewayProviderSettingsDto()
            {
                Key                 = new Guid("D584F356-454B-4D14-BE44-13D9D25D6A74"),
                Name                = "Chase",
                Description         = "Chase",
                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("D584F356-454B-4D14-BE44-13D9D25D6A74"));

            var providerSettings = new ChaseProcessorSettings()
            {
                MerchantId = merchantId,
                Bin        = bin,
                Username   = username,
                Password   = password
            };

            GatewayProviderSettings.ExtendedData.SaveProcessorSettings(providerSettings);

            Provider = new ChasePaymentGatewayProvider(GatewayProviderService, GatewayProviderSettings,
                                                       cacheProvider.Object);

            //TestCustomer = MerchelloContext.Current.Services.CustomerService.CreateCustomerWithKey(
            //    Guid.NewGuid().ToString(),
            //    "debug",
            //    "debug",
            //    "*****@*****.**");
        }
Beispiel #32
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BraintreePaymentGatewayProvider"/> 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 BraintreePaymentGatewayProvider(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, Umbraco.Core.Cache.IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="FoaShippingGatewayMethod"/> class.
        /// </summary>
        /// <param name="gatewayResource">
        /// The gateway resource.
        /// </param>
        /// <param name="shipMethod">
        /// The ship method.
        /// </param>
        /// <param name="shipCountry">
        /// The ship country.
        /// </param>
        /// <param name="gatewayProviderSettings">
        /// The gateway provider settings.
        /// </param>
        public FoaShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IGatewayProviderSettings gatewayProviderSettings) :
            base(gatewayResource, shipMethod, shipCountry)
        {
            _processorSettings = gatewayProviderSettings.ExtendedData.GetProcessorSettings();

            _shipMethod = shipMethod;
        }
        // TODO refactor this
        private void ToggleProviderActivation(IGatewayProviderSettings gatewayProviderSettings, GatewayProviderType gatewayProviderType)
        {
            switch (gatewayProviderType)
            {
                case GatewayProviderType.Payment:
                    if (gatewayProviderSettings.Activated)
                        _gatewayContext.Payment.DeactivateProvider(gatewayProviderSettings);
                    else
                        _gatewayContext.Payment.ActivateProvider(gatewayProviderSettings);
                    break;

                case GatewayProviderType.Shipping:
                    if (gatewayProviderSettings.Activated)
                        _gatewayContext.Shipping.DeactivateProvider(gatewayProviderSettings);
                    else
                        _gatewayContext.Shipping.ActivateProvider(gatewayProviderSettings);
                    break;

                case GatewayProviderType.Taxation:
                    if (gatewayProviderSettings.Activated)
                        _gatewayContext.Taxation.DeactivateProvider(gatewayProviderSettings);
                    else
                        _gatewayContext.Taxation.ActivateProvider(gatewayProviderSettings);
                    break;
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="BraintreePaymentGatewayProvider"/> 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 BraintreePaymentGatewayProvider(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, Umbraco.Core.Cache.IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
     _braintreeApiService = new BraintreeApiService(gatewayProviderSettings.ExtendedData.GetBrainTreeProviderSettings());
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BraintreePaymentGatewayProvider"/> 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 BraintreePaymentGatewayProvider(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, Umbraco.Core.Cache.IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
     _braintreeApiService = new BraintreeApiService(gatewayProviderSettings.ExtendedData.GetBrainTreeProviderSettings());
 }
 public UspsShippingGatewayProvider(IGatewayProviderService gatewayProviderService, 
     IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider) : 
     base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
     _runtimeCache = runtimeCacheProvider;
 }
 public UPSShippingGatewayProvider(IGatewayProviderService gatewayProviderService,
                                   IGatewayProviderSettings gatewayProvider, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProvider, runtimeCacheProvider)
 {
     _processorSettings = base.GatewayProviderSettings.ExtendedData.GetProcessorSettings();
 }
Beispiel #39
0
        public void TestFixtureSetup()
        {
            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("D584F356-454B-4D14-BE44-13D9D25D6A74"));

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

            var petaPoco = new PetaPocoUnitOfWorkProvider();

            var merchantId = ConfigurationManager.AppSettings["merchantId"];
            var bin = ConfigurationManager.AppSettings["bin"];
            var username = ConfigurationManager.AppSettings["username"];
            var password = ConfigurationManager.AppSettings["password"];
            var sql = new Sql();

            var dto = new GatewayProviderSettingsDto()
            {
                Key = new Guid("D584F356-454B-4D14-BE44-13D9D25D6A74"),
                Name = "Chase",
                Description = "Chase",
                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("D584F356-454B-4D14-BE44-13D9D25D6A74"));

            var providerSettings = new ChaseProcessorSettings()
            {
                MerchantId = merchantId,
                Bin = bin,
                Username = username,
                Password = password
            };

            GatewayProviderSettings.ExtendedData.SaveProcessorSettings(providerSettings);

            Provider = new ChasePaymentGatewayProvider(GatewayProviderService, GatewayProviderSettings,
                cacheProvider.Object);

            //TestCustomer = MerchelloContext.Current.Services.CustomerService.CreateCustomerWithKey(
            //    Guid.NewGuid().ToString(),
            //    "debug",
            //    "debug",
            //    "*****@*****.**");
        }
        /// <summary>
        /// Deletes a <see cref="IGatewayProviderSettings"/>
        /// </summary>
        /// <param name="gatewayProviderSettings"></param>
        /// <param name="raiseEvents">Optional boolean indicating whether or not to raise events</param>
        public void Delete(IGatewayProviderSettings gatewayProviderSettings, bool raiseEvents = true)
        {
            if (raiseEvents) Deleting.RaiseEvent(new DeleteEventArgs<IGatewayProviderSettings>(gatewayProviderSettings), this);

            // delete associated methods
            switch (gatewayProviderSettings.GatewayProviderType)
            {
                case GatewayProviderType.Payment:
                    var paymentMethods = _paymentMethodService.GetPaymentMethodsByProviderKey(gatewayProviderSettings.Key).ToArray();
                    if(paymentMethods.Any()) _paymentMethodService.Delete(paymentMethods);
                    break;
                    
                case GatewayProviderType.Shipping:
                    var shippingMethods = _shipMethodService.GetShipMethodsByProviderKey(gatewayProviderSettings.Key).ToArray();
                    if(shippingMethods.Any()) _shipMethodService.Delete(shippingMethods);
                    break;

                case GatewayProviderType.Taxation:
                    var taxMethods = _taxMethodService.GetTaxMethodsByProviderKey(gatewayProviderSettings.Key).ToArray();
                    if(taxMethods.Any()) _taxMethodService.Delete(taxMethods);
                    break;
            }

            using (new WriteLock(Locker))
            {
                var uow = _uowProvider.GetUnitOfWork();
                using (var repository = _repositoryFactory.CreateGatewayProviderRepository(uow))
                {
                    repository.Delete(gatewayProviderSettings);
                    uow.Commit();
                }
            }
            if (raiseEvents) Deleted.RaiseEvent(new DeleteEventArgs<IGatewayProviderSettings>(gatewayProviderSettings), this);
        }
 internal static GatewayProviderDisplay ToGatewayProviderDisplay(this IGatewayProviderSettings gatewayProviderSettings)
 {
     return(AutoMapper.Mapper.Map <GatewayProviderDisplay>(gatewayProviderSettings));
 }
Beispiel #42
0
 protected NotificationGatewayProviderBase(IGatewayProviderService gatewayProviderService, IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider)
     : base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
Beispiel #43
0
 public FoaShippingGatewayProvider(IGatewayProviderService gatewayProviderService,
                                   IGatewayProviderSettings gatewayProviderSettings, IRuntimeCacheProvider runtimeCacheProvider) :
     base(gatewayProviderService, gatewayProviderSettings, runtimeCacheProvider)
 {
 }
        internal static IGatewayProviderSettings ToGatewayProvider(this GatewayProviderDisplay gatewayProvider, IGatewayProviderSettings destination)
        {
            if (gatewayProvider.Key != Guid.Empty)
            {
                destination.Key = gatewayProvider.Key;
            }
            // type key and typeFullName should be handled by the resolver
            destination.Name                = gatewayProvider.Name;
            destination.Description         = gatewayProvider.Description;
            destination.EncryptExtendedData = gatewayProvider.EncryptExtendedData;

            ((GatewayProviderSettings)destination).ExtendedData = gatewayProvider.ExtendedData.AsExtendedDataCollection();

            return(destination);
        }