private string RecalculateSummary(HttpContext context) { var objCtrl = new NBrightBuyController(); var currentcart = new CartData(PortalSettings.Current.PortalId); var ajaxInfo = GetAjaxInfo(context, true); var shipoption = currentcart.GetShippingOption(); // ship option already set in address update. currentcart.AddExtraInfo(ajaxInfo); currentcart.SetShippingOption(shipoption); currentcart.PurchaseInfo.SetXmlProperty("genxml/currentcartstage", "cartsummary"); // (Legacy) we need to set this so the cart calcs shipping currentcart.PurchaseInfo.SetXmlProperty("genxml/extrainfo/genxml/radiobuttonlist/shippingprovider", ajaxInfo.GetXmlProperty("genxml/radiobuttonlist/shippingprovider")); var shipref = ajaxInfo.GetXmlProperty("genxml/radiobuttonlist/shippingprovider"); var displayanme = ""; var shipInfo = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "SHIPPING", shipref); if (shipInfo != null) { displayanme = shipInfo.GetXmlProperty("genxml/textbox/shippingdisplayname"); } if (displayanme == "") displayanme = shipref; currentcart.PurchaseInfo.SetXmlProperty("genxml/extrainfo/genxml/hidden/shippingdisplayanme", displayanme); var shippingproductcode = ajaxInfo.GetXmlProperty("genxml/hidden/shippingproductcode"); currentcart.PurchaseInfo.SetXmlProperty("genxml/shippingproductcode", shippingproductcode); var pickuppointref = ajaxInfo.GetXmlProperty("genxml/hidden/pickuppointref"); currentcart.PurchaseInfo.SetXmlProperty("genxml/pickuppointref", pickuppointref); var pickuppointaddr = ajaxInfo.GetXmlProperty("genxml/hidden/pickuppointaddr"); currentcart.PurchaseInfo.SetXmlProperty("genxml/pickuppointaddr", pickuppointaddr); currentcart.Lang = ajaxInfo.Lang; // set lang so we can send emails in same language the order was made in. currentcart.Save(); return "OK"; }
private String GetShippingProviderTemplates(HttpContext context) { var ajaxInfo = GetAjaxInfo(context); var activeprovider = ajaxInfo.GetXmlProperty("genxml/hidden/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.PurchaseInfo.SetXmlProperty("genxml/currentcartstage", "cartsummary"); // (Legacy) we need to set this so the cart calcs shipping 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) { var p = d.Value; var shippingkey = p.GetXmlProperty("genxml/textbox/ctrl"); var shipprov = ShippingInterface.Instance(shippingkey); if (shipprov != null) { if (activeprovider == d.Key) { var razorTempl = shipprov.GetTemplate(currentcart.PurchaseInfo); var objList = new List<NBrightInfo>(); objList.Add(currentcart.PurchaseInfo); if (razorTempl.StartsWith("@")) { strRtn += NBrightBuyUtils.RazorRender(objList, razorTempl, shippingkey + "shippingtemplate", StoreSettings.Current.DebugMode); } else { strRtn += GenXmlFunctions.RenderRepeater(objList[0], razorTempl, "", "XMLData", "", StoreSettings.Current.Settings(), null); } } } } } return strRtn; }