Ejemplo n.º 1
0
        private static string GetShippingProviderTemplates(HttpContext context)
        {
            var ajaxInfo       = NBrightBuyUtils.GetAjaxInfo(context);
            var activeprovider = ajaxInfo.GetXmlProperty("genxml/radiobuttonlist/shippingprovider");
            var currentcart    = new CartData(PortalSettings.Current.PortalId);

            var shipoption = currentcart.GetShippingOption(); // we don't want to overwrite the selected shipping option.

            currentcart.AddExtraInfo(ajaxInfo);
            currentcart.SetShippingOption(shipoption);
            currentcart.Save();

            if (activeprovider == "")
            {
                activeprovider = currentcart.PurchaseInfo.GetXmlProperty("genxml/extrainfo/genxml/radiobuttonlist/shippingprovider");
            }


            var strRtn     = "";
            var pluginData = new PluginData(PortalSettings.Current.PortalId);
            var provList   = pluginData.GetShippingProviders();

            if (provList != null && provList.Count > 0)
            {
                if (activeprovider == "")
                {
                    activeprovider = provList.First().Key;
                }
                foreach (var d in provList)
                {
                    if (activeprovider == d.Key)
                    {
                        var p           = d.Value;
                        var shippingkey = p.GetXmlProperty("genxml/textbox/ctrl");
                        var shipprov    = ShippingInterface.Instance(shippingkey);
                        if (shipprov != null)
                        {
                            var razorTempl = shipprov.GetTemplate(currentcart.PurchaseInfo);
                            if (razorTempl != "")
                            {
                                var objList = new List <NBrightInfo>();
                                objList.Add(currentcart.PurchaseInfo);

                                var nbRazor = new NBrightRazor(objList.Cast <object>().ToList(), NBrightBuyUtils.GetPassSettings(ajaxInfo), HttpContext.Current.Request.QueryString);
                                nbRazor.ModuleId         = -1;
                                nbRazor.FullTemplateName = "";
                                nbRazor.TemplateName     = "";
                                nbRazor.ThemeFolder      = "";
                                nbRazor.Lang             = Utils.GetCurrentCulture();

                                strRtn += NBrightBuyUtils.RazorRender(nbRazor, razorTempl, shippingkey + "shippingtemplate", true);
                            }
                        }
                    }
                }
            }
            return(strRtn);
        }