示例#1
0
        private string GetExternalDownloads(List <AssetServerAsset> ListOfAssets, string AboveVersion, Boolean IsUpdate)
        {
            StringBuilder ret = new StringBuilder();

            if (IsUpdate)
            {
                ret.Append("<b>Update:</b> ");
            }
            else
            {
                ret.Append("<b>Download:</b> ");
            }
            string Seperator = " | ";

            foreach (AssetServerAsset asset in ListOfAssets)
            {
                AssetVersion thisVersion     = new AssetVersion(asset.Version);
                AssetVersion comparedVersion = new AssetVersion(AboveVersion);

                if (thisVersion.CompareTo(comparedVersion) > 0)
                {
                    ret.AppendFormat("<a href=\"{0}\" target=\"_blank\">{1} {2}</a>{3}", asset.Link, asset.Title, asset.Version, Seperator);
                }
            }
            String retS = ret.ToString();

            if (retS.Length > Seperator.Length && retS.EndsWith(Seperator))
            {
                retS = retS.Substring(0, retS.Length - Seperator.Length);
            }

            return(retS);
        }
示例#2
0
        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();
            }
        }