private void Load() { strCacheKey = "NBS_CarProdXrefList_" + PortalSettings.Current.PortalId; CatRefProdList = (List <String>)Utils.GetCache(strCacheKey); if (CatRefProdList == null) { CatRefProdList = new List <string>(); var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier; var dbOwner = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner; var sql = "SELECT NB1.ParentItemId as productid ,NB1.XrefItemId as categoryid,nb2.GUIDKey as categoryref FROM " + dbOwner + "[" + objQual + "NBrightBuy] as NB1 inner join " + dbOwner + "[" + objQual + "NBrightBuy] as NB2 on nb2.ItemId = nb1.XrefItemId where nb1.typecode = 'CATCASCADE' or nb1.typecode = 'CATXREF' for xml path('item'), root('root')"; var objCtrl = new NBrightBuyController(); var strOut = objCtrl.GetSqlxml(sql); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(strOut); var nodList = xmlDoc.SelectNodes("root/item"); if (nodList != null) { foreach (XmlNode nod in nodList) { if (nod.SelectSingleNode("categoryref") != null && nod.SelectSingleNode("productid") != null) { var s = nod.SelectSingleNode("categoryref").InnerText + "-" + nod.SelectSingleNode("productid").InnerText; CatRefProdList.Add(s); } } } NBrightBuyUtils.SetModCache(-1, strCacheKey, CatRefProdList); } }
private string GetReturnData(HttpContext context) { try { var strOut = ""; var strIn = HttpUtility.UrlDecode(Utils.RequestParam(context, "inputxml")); var xmlData = GenXmlFunctions.GetGenXmlByAjax(strIn, ""); var objInfo = new NBrightInfo(); objInfo.ItemID = -1; objInfo.TypeCode = "AJAXDATA"; objInfo.XMLData = xmlData; var settings = objInfo.ToDictionary(); var themeFolder = StoreSettings.Current.ThemeFolder; if (settings.ContainsKey("themefolder")) themeFolder = settings["themefolder"]; var templCtrl = NBrightBuyUtils.GetTemplateGetter(themeFolder); if (!settings.ContainsKey("portalid")) settings.Add("portalid", PortalSettings.Current.PortalId.ToString("")); // aways make sure we have portalid in settings var objCtrl = new NBrightBuyController(); // run SQL and template to return html if (settings.ContainsKey("sqltpl") && settings.ContainsKey("xsltpl")) { var strSql = templCtrl.GetTemplateData(settings["sqltpl"], _lang, true, true, true, StoreSettings.Current.Settings()); var xslTemp = templCtrl.GetTemplateData(settings["xsltpl"], _lang, true, true, true, StoreSettings.Current.Settings()); // replace any settings tokens (This is used to place the form data into the SQL) strSql = Utils.ReplaceSettingTokens(strSql, settings); strSql = Utils.ReplaceUrlTokens(strSql); strSql = GenXmlFunctions.StripSqlCommands(strSql); // don't allow anything to update through here. strOut = objCtrl.GetSqlxml(strSql); if (!strOut.StartsWith("<root>")) strOut = "<root>" + strOut + "</root>"; // always wrap with root node. strOut = XslUtils.XslTransInMemory(strOut, xslTemp); } return strOut; } catch (Exception ex) { return ex.ToString(); } }
/// <summary> /// Return a list of category ids for all the valid categories for a given product list (selected by a categoryid) /// </summary> /// <param name="categoryId"></param> /// <returns></returns> private List<int> GetCateoriesInProductList(int categoryId) { var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier; var dbOwner = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner; var objCtrl = new NBrightBuyController(); var strXML = objCtrl.GetSqlxml("select distinct XrefItemId from " + dbOwner + "[" + objQual + "NBrightBuy] where (typecode = 'CATCASCADE' or typecode = 'CATXREF') and parentitemid in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where (typecode = 'CATCASCADE' or typecode = 'CATXREF') and XrefItemId in (" + categoryId + ")) for xml raw "); // get returned XML into generic List var xmlDoc = new XmlDocument(); xmlDoc.LoadXml("<root>" + strXML + "</root>"); var nList = xmlDoc.SelectNodes("root/row"); var rtnList = new List<int>(); foreach (XmlNode n in nList) { if (n.Attributes["XrefItemId"].Value != null && Utils.IsNumeric(n.Attributes["XrefItemId"].Value)) { rtnList.Add(Convert.ToInt32(n.Attributes["XrefItemId"].Value)); } } return rtnList; }
private NBrightInfo GetStats(int portalId, bool forceRefresh = false) { var cachekey = "nbrightbuydashboard*" + PortalId.ToString(""); var statsInfo = (NBrightInfo)Utils.GetCache(cachekey); if (statsInfo == null || StoreSettings.Current.DebugMode || forceRefresh) { var objCtrl = new NBrightBuyController(); statsInfo = new NBrightInfo(true); var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier; var dbOwner = DotNetNuke.Data.DataProvider.Instance().DatabaseOwner; var statsXml = objCtrl.GetSqlxml("exec " + dbOwner + objQual + "NBrightBuy_DashboardStats " + portalId); statsInfo.XMLData = statsXml; Utils.SetCache(cachekey, statsInfo); } return statsInfo; }