protected void repGateways_DataBinding(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { RadioButton rb = e.Item.FindControl("rbGateway") as RadioButton; LinkButton btnConfigureGateway = e.Item.FindControl("btnConfigureGateway") as LinkButton; Image imgPayPal = e.Item.FindControl("imgPayPal") as Image; GatewayData item = e.Item.DataItem as GatewayData; Control trGateway = e.Item.FindControl("trGateway"); if (trGateway != null) { trGateway.Visible = IsPaymentOptionAvailable(item.DisplayName, ddlCountries.SelectedValue); } if (item.DisplayName.Contains("PayPal")) { imgPayPal.Visible = true; } if (item.DisplayName.ToUpper().Contains("PAYFLOW")) { imgPayPal.ImageUrl = "images/PayPal_OnBoarding_PayFlow.png"; } if (AppLogic.AppConfig("PaymentGateway", 0, false).EqualsIgnoreCase("PayFlowPro")) { var payFlowProProduct = AppLogic.GetAppConfig(0, "PayFlowPro.Product"); rb.Checked = item.DisplayName == payFlowProProduct.ConfigValue; } else { rb.Checked = AppLogic.AppConfig("PaymentGateway", 0, false).EqualsIgnoreCase(item.GatewayIdentifier); } if (item.IsInstalled) { GatewayProcessor gp = GatewayLoader.GetProcessor(item.GatewayIdentifier); if (gp != null) { IConfigurationAtom atom = gp.GetConfigurationAtom(); rb.Enabled = atom == null || atom.IsConfigured(0) || atom.IsConfigured(AppLogic.StoreID()); } } else { rb.Enabled = false; btnConfigureGateway.Visible = false; } if (item.GatewayIdentifier != null && item.GatewayIdentifier.EqualsIgnoreCase("manual")) { btnConfigureGateway.Visible = false; } } }
private GatewayData CreateGatewayData(String displayName, String gatewayIdentifier, String administratorSetupPrompt) { GatewayData gatewayData = new GatewayData(); gatewayData.DisplayName = displayName; gatewayData.AdministratorSetupPrompt = administratorSetupPrompt; gatewayData.IsInstalled = true; gatewayData.GatewayIdentifier = gatewayIdentifier; return(gatewayData); }
public void BuildGatewayList() { String GW = AppLogic.ActivePaymentGatewayCleaned(); List <GatewayData> ds = new List <GatewayData>(); String downloadLink = "<br /><a href=\"{1}\" onclick=\"showGatewayDirections('{2}');\">{0}</a>"; if (repGateways.DataSource == null) { Dictionary <String, List <AssetServerAsset> > serverAssets = AssetServer.AssetServerAsset.GetAssetServerAssets(); IEnumerable <string> availibleGateways = GatewayLoader.GetAvailableGatewayNames(); foreach (String s in availibleGateways) { GatewayProcessor GWActual = GatewayLoader.GetProcessor(s); GatewayData gd = new GatewayData(); gd.DisplayName = GWActual.DisplayName(ThisCustomer.LocaleSetting); gd.AdministratorSetupPrompt = GWActual.AdministratorSetupPrompt; if (serverAssets.ContainsKey(GWActual.TypeName)) { if (serverAssets[GWActual.TypeName].Count == 0) { return; } AssetServer.AssetVersion dllVersion = new AssetVersion(GWActual.Version); AssetServer.AssetVersion availibleVersion = new AssetVersion(serverAssets[GWActual.TypeName][0].Version); if (availibleVersion.CompareTo(dllVersion) > 0) { gd.AdministratorSetupPrompt += "<b>Download Update</b>"; foreach (AssetServerAsset asa in serverAssets[GWActual.TypeName]) { gd.AdministratorSetupPrompt += String.Format(downloadLink, asa.Title + " (" + asa.Version + ")", asa.Link, CommonLogic.IIF(String.IsNullOrEmpty(asa.DownloadInstructions), String.Empty, HttpContext.Current.Server.HtmlEncode(asa.DownloadInstructions))); } } serverAssets.Remove(GWActual.TypeName); } gd.IsInstalled = true; gd.GatewayIdentifier = s; ds.Add(gd); } // foreach (KeyValuePair <String, List <AssetServerAsset> > sa in serverAssets) { if (sa.Value.Count == 0) { break; } GatewayData gd = new GatewayData(); gd.DisplayName = sa.Value[0].Title; gd.IsInstalled = false; StringBuilder setupPrompt = new StringBuilder(); setupPrompt.Append("<b>Download</b>"); foreach (AssetServerAsset asa in sa.Value) { setupPrompt.AppendFormat(downloadLink, asa.Title, asa.Link, CommonLogic.IIF(String.IsNullOrEmpty(asa.DownloadInstructions), String.Empty, HttpContext.Current.Server.HtmlEncode(asa.DownloadInstructions))); } gd.AdministratorSetupPrompt = setupPrompt.ToString(); ds.Add(gd); } ds.Add(CreateGatewayData("PayPal Payflow Link", "PayFlowPro", "(also enables PayPal Express Checkout) - See <a href=\"http://www.aspdotnetstorefront.com/linkmanager.aspx?topic=paypalpayflowlink&type=manual\" target=\"_blank\">Manual</a>.")); ds.Add(CreateGatewayData("PayPal Payments Advanced", "PayFlowPro", "(also enables PayPal Express Checkout) - See <a href=\"http://www.aspdotnetstorefront.com/linkmanager.aspx?topic=paypalpaymentsadvanced&type=manual\" target=\"_blank\">Manual</a>.")); ds = ds.Where(gd => IsPaymentOptionAvailable(gd.DisplayName, ddlCountries.SelectedValue)).ToList(); ds = SortGatewayList(ds); repGateways.DataSource = ds; repGateways.DataBind(); } }