public void GetPaymentGatewayTest()
        {
            var gatewayRuleContext = new GatewayRuleManager();

            var request = new PaymentGatewayRuleModel()
            {
                Country           = "TH",
                Currency          = "THB",
                PaymentMethodType = "Direct",
                PaymentMethod     = "CreditCard"
            };
            var gateway = gatewayRuleContext.GetPaymentGateway(request);

            Assert.AreEqual("Stripe", gateway);
        }
Ejemplo n.º 2
0
        public string GetPaymentGateway(PaymentGatewayRuleModel ruleContext)
        {
            var gatewayRules   = GetPaymentGatewayRules();
            var matchedGateway = gatewayRules.AsParallel().Where(
                gatewayRule => gatewayRule.PaymentMethodType == ruleContext.PaymentMethodType &&
                gatewayRule.Country == ruleContext.Country &&
                gatewayRule.Currency == ruleContext.Currency).FirstOrDefault().PaymentGateway;

            if (matchedGateway == null)
            {
                // TODO: matchedGateway = defaultGateway
            }

            return(matchedGateway);
        }