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); }
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); }