Beispiel #1
0
        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();
            }
        }
Beispiel #3
0
        /// <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;
        }
Beispiel #4
0
        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;
        }