예제 #1
0
        private string GetUniqueGuidKey(int categoryId, string newGUIDKey)
        {
            // make sure we have a unique guidkey
            var doloop      = true;
            var lp          = 1;
            var testGUIDKey = newGUIDKey.ToLower();

            while (doloop)
            {
                var obj = ModCtrl.GetByGuidKey(PortalSettings.PortalId, -1, "CATEGORY", testGUIDKey);
                if (obj != null && obj.ItemID != categoryId)
                {
                    testGUIDKey = newGUIDKey + lp.ToString();
                }
                else
                {
                    doloop = false;
                }

                lp += 1;
                if (lp > 999)
                {
                    doloop = false;           // make sure we never get a infinate loop
                }
            }
            return(testGUIDKey);
        }
예제 #2
0
        private void DoExport()
        {
            var navigationData = new NavigationData(PortalId, "AdminOrders");
            var strFilter      = navigationData.Criteria;
            var l2             = new List <NBrightInfo>();

            const string strOrder = "   order by [XMLData].value('(genxml/createddate)[1]','nvarchar(20)') DESC, ModifiedDate DESC  ";
            var          l1       = ModCtrl.GetList(PortalId, -1, "ORDER", strFilter, strOrder, 1000);

            foreach (var i in l1)
            {
                var nodList = i.XMLDoc.SelectNodes("genxml/items/*");
                foreach (XmlNode nod in nodList)
                {
                    var itemline = (NBrightInfo)i.Clone();
                    itemline.RemoveXmlNode("genxml/items");
                    itemline.AddXmlNode("<item>" + nod.OuterXml + "</item>", "item", "genxml");
                    l2.Add(itemline);
                }
            }

            var rp            = new Repeater();
            var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "ordersexport.html", Utils.GetCurrentCulture(), DebugMode);

            rp.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            rp.DataSource   = l2;
            var strOut = GenXmlFunctions.RenderRepeater(rp);

            Utils.ForceStringDownload(Response, "ordersexport.csv", strOut);
        }
예제 #3
0
        override protected void OnInit(EventArgs e)
        {
            _page        = Utils.RequestParam(Context, "page");
            EnablePaging = true;

            base.OnInit(e);

            CtrlPaging.Visible        = true;
            CtrlPaging.UseListDisplay = true;
            try
            {
                #region "set templates based on entry id (eid) from url"

                _entryid = Utils.RequestQueryStringParam(Context, "uid");

                if (_entryid != "")
                {
                    _displayentrypage = true;
                }

                #endregion

                #region "load templates"

                // Get Search
                var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "clientssearch.html", Utils.GetCurrentCulture(), DebugMode);
                _templSearch          = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                rpSearch.ItemTemplate = _templSearch;

                var t1 = "clientsheader.html";
                var t2 = "clientsbody.html";
                var t3 = "clientsfooter.html";

                if (Utils.IsNumeric(_entryid))
                {
                    t1 = "clientsdetailheader.html";
                    t2 = "clientsdetail.html";
                    t3 = "clientsdetailfooter.html";
                }

                // Get Display Header
                var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode);
                rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                // Get Display Body
                var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode);
                rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                // Get Display Footer
                var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode);
                rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                #endregion
            }
            catch (Exception exc)
            {
                //display the error on the template (don;t want to log it here, prefer to deal with errors directly.)
                var l = new Literal();
                l.Text = exc.ToString();
                phData.Controls.Add(l);
            }
        }
예제 #4
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            try
            {
                // Get Display Header
                var rpDashTempl = ModCtrl.GetTemplateData(ModSettings, "dashboard.html", Utils.GetCurrentCulture(), DebugMode);
                rpDash.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDashTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, "dashordersheader.html", Utils.GetCurrentCulture(), DebugMode);
                rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, "dashordersbody.html", Utils.GetCurrentCulture(), DebugMode);
                rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, "dashordersfooter.html", Utils.GetCurrentCulture(), DebugMode);
                rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            }
            catch (Exception exc)
            {
                //display the error on the template (don;t want to log it here, prefer to deal with errors directly.)
                var l = new Literal();
                l.Text = exc.ToString();
                phData.Controls.Add(l);
            }
        }
예제 #5
0
        protected void CtrlItemCommand(object source, RepeaterCommandEventArgs e)
        {
            var cArg  = e.CommandArgument.ToString();
            var param = new string[3];

            switch (e.CommandName.ToLower())
            {
            case "save":
                Update();
                ShareProducts();
                param[0] = "ctrl=settings";
                Response.Redirect(Globals.NavigateURL(TabId, "", param), true);
                break;

            case "removelogo":
                var settings = ModCtrl.GetByGuidKey(PortalSettings.Current.PortalId, 0, "SETTINGS", "NBrightBuySettings");
                if (settings != null && settings.GetXmlProperty("genxml/hidden/hidemaillogo") != "")
                {
                    settings.SetXmlProperty("genxml/hidden/hidemaillogo", "");
                    settings.SetXmlProperty("genxml/hidden/emaillogourl", "");
                    settings.SetXmlProperty("genxml/hidden/emaillogopath", "");
                    ModCtrl.Update(settings);
                }
                param[0] = "";
                Response.Redirect(NBrightBuyUtils.AdminUrl(TabId, param), true);
                break;

            case "cancel":
                param[0] = "";
                Response.Redirect(NBrightBuyUtils.AdminUrl(TabId, param), true);
                break;
            }
        }
예제 #6
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            _profileData = new ProfileData();

            if (ModSettings.Get("themefolder") == "")  // if we don't have module setting jump out
            {
                rpInp.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS");
                return;
            }

            try
            {
                _templinp = ModSettings.Get("txtinputform");

                // Get Display
                var rpInpTempl = ModCtrl.GetTemplateData(ModSettings, _templinp, Utils.GetCurrentCulture(), DebugMode);
                rpInp.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpInpTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            }
            catch (Exception exc)
            {
                rpInp.ItemTemplate = new GenXmlTemplate(exc.Message, ModSettings.Settings());
                // catch any error and allow processing to continue, output error as footer template.
            }
        }
예제 #7
0
        protected override void OnLoad(EventArgs e)
        {
            try
            {
                if (UserId > 0) //do nothing if user not logged on
                {
                    _resxpath = StoreSettings.NBrightBuyPath() + "/App_LocalResources/Plugins.ascx.resx";

                    base.OnLoad(e);

                    var rpDataTemplH = ModCtrl.GetTemplateData(ModSettings, "menuheader.html",
                                                               Utils.GetCurrentCulture(), DebugMode);
                    var l = new Literal();
                    l.Text = rpDataTemplH;
                    phMenuH.Controls.Add(l);

                    l      = new Literal();
                    l.Text = GetMenu();
                    phMenuF.Controls.Add(l);

                    var rpDataTemplF = ModCtrl.GetTemplateData(ModSettings, "menufooter.html",
                                                               Utils.GetCurrentCulture(), DebugMode);
                    l      = new Literal();
                    l.Text = rpDataTemplF;
                    phMenuF.Controls.Add(l);
                }
            }
            catch (Exception exc) //Module failed to load
            {
                //display the error on the template (don;t want to log it here, prefer to deal with errors directly.)
                var l = new Literal();
                l.Text = exc.ToString();
                phData.Controls.Add(l);
            }
        }
예제 #8
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            try
            {
                #region "load templates"

                var t1 = "settingsheader.html";
                var t2 = "settingsbody.html";
                var t3 = "settingsfooter.html";

                // Get Display Header
                var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode);
                rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                // Get Display Body
                var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode);
                rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                // Get Display Footer
                var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode);
                rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                #endregion
            }
            catch (Exception exc)
            {
                //display the error on the template (don;t want to log it here, prefer to deal with errors directly.)
                var l = new Literal();
                l.Text = exc.ToString();
                phData.Controls.Add(l);
            }
        }
예제 #9
0
        private void DoExportDocs()
        {
            var fileMapPathList = new List <string>();

            var l = ModCtrl.GetList(PortalId, -1, "PRD");

            foreach (var i in l)
            {
                var nodlist = i.XMLDoc.SelectNodes("genxml/docs/*");
                if (nodlist != null)
                {
                    foreach (XmlNode nod in nodlist)
                    {
                        var fname = nod.SelectSingleNode("./hidden/docpath");
                        if (fname != null && fname.InnerText != "")
                        {
                            fileMapPathList.Add(fname.InnerText);
                        }
                    }
                }
            }


            // export any entitytype provider data
            // This is data created by plugins into the NBS data tables.
            var pluginData = new PluginData(PortalSettings.Current.PortalId);
            var provList   = pluginData.GetEntityTypeProviders();

            foreach (var prov in provList)
            {
                var entityprov = EntityTypeInterface.Instance(prov.Key);
                if (entityprov != null)
                {
                    var provl = ModCtrl.GetList(PortalId, -1, entityprov.GetEntityTypeCode());
                    foreach (var i in provl)
                    {
                        var nodlist = i.XMLDoc.SelectNodes("genxml/docs/*");
                        if (nodlist != null)
                        {
                            foreach (XmlNode nod in nodlist)
                            {
                                var fname = nod.SelectSingleNode("./hidden/docpath");
                                if (fname != null && fname.InnerText != "")
                                {
                                    fileMapPathList.Add(fname.InnerText);
                                }
                            }
                        }
                    }
                }
            }


            DnnUtils.Zip(StoreSettings.Current.FolderUploadsMapPath + "\\exportdocs.zip", fileMapPathList);

            Utils.ForceDocDownload(StoreSettings.Current.FolderUploadsMapPath + "\\exportdocs.zip", PortalSettings.PortalAlias.HTTPAlias + "_exportdocs.zip", Response);
        }
예제 #10
0
        private void UnSharedRecord(NBrightInfo i)
        {
            var createdportalid = PortalSettings.Current.PortalId; // default previously shared record to this portal.

            if (Utils.IsNumeric(i.GetXmlProperty("genxml/createdportalid")))
            {
                createdportalid = i.GetXmlPropertyInt("genxml/createdportalid");
            }
            i.PortalId = createdportalid;
            ModCtrl.Update(i);
        }
예제 #11
0
        private void DisplayDataEntryRepeater()
        {
            //render the detail page
            var settings = ModCtrl.GetByGuidKey(PortalSettings.Current.PortalId, 0, "SETTINGS", "NBrightBuySettings");

            if (settings == null)
            {
                settings = new NBrightInfo(true);
            }
            base.DoDetail(rpData, settings);
        }
예제 #12
0
        private void MoveRecord(int itemId)
        {
            var selecteditemid = GenXmlFunctions.GetField(rpDataH, "selecteditemid");

            if (Utils.IsNumeric(selecteditemid))
            {
                var movData          = CategoryUtils.GetCategoryData(itemId, StoreSettings.Current.EditLanguage);
                var selData          = CategoryUtils.GetCategoryData(Convert.ToInt32(selecteditemid), StoreSettings.Current.EditLanguage);
                var fromParentItemid = selData.DataRecord.ParentItemId;
                var toParentItemid   = movData.DataRecord.ParentItemId;
                var reindex          = toParentItemid != fromParentItemid;

                var objGrpCtrl = new GrpCatController(StoreSettings.Current.EditLanguage);
                var movGrp     = objGrpCtrl.GetGrpCategory(movData.Info.ItemID);
                if (!movGrp.Parents.Contains(selData.Info.ItemID)) // cannot move a category into itself (i.e. move parent into sub-category)
                {
                    selData.DataRecord.SetXmlProperty("genxml/dropdownlist/ddlparentcatid", toParentItemid.ToString(""));
                    selData.DataRecord.ParentItemId = toParentItemid;
                    selData.DataRecord.SetXmlProperty("genxml/dropdownlist/ddlgrouptype", movData.DataRecord.GetXmlProperty("genxml/dropdownlist/ddlgrouptype"));
                    var strneworder = movData.DataRecord.GetXmlProperty("genxml/hidden/recordsortorder");
                    var selorder    = selData.DataRecord.GetXmlProperty("genxml/hidden/recordsortorder");
                    if (!Utils.IsNumeric(strneworder))
                    {
                        strneworder = "1";
                    }
                    if (!Utils.IsNumeric(selorder))
                    {
                        selorder = "1";
                    }
                    var neworder = Convert.ToDouble(strneworder, CultureInfo.GetCultureInfo("en-US"));
                    if (Convert.ToDouble(strneworder, CultureInfo.GetCultureInfo("en-US")) < Convert.ToDouble(selorder, CultureInfo.GetCultureInfo("en-US")))
                    {
                        neworder = neworder - 0.5;
                    }
                    else
                    {
                        neworder = neworder + 0.5;
                    }
                    selData.DataRecord.SetXmlProperty("genxml/hidden/recordsortorder", neworder.ToString(""), TypeCode.Double);
                    ModCtrl.Update(selData.DataRecord);

                    FixRecordSortOrder(toParentItemid.ToString("")); //reindex all siblings (this is so we get a int on the recordsortorder)
                    FixRecordGroupType(selData.Info.ItemID.ToString(""), selData.DataRecord.GetXmlProperty("genxml/dropdownlist/ddlgrouptype"));

                    if (reindex)
                    {
                        objGrpCtrl.ReIndexCascade(fromParentItemid);    // reindex from parent and parents.
                        objGrpCtrl.ReIndexCascade(selData.Info.ItemID); // reindex select and parents
                    }
                    NBrightBuyUtils.RemoveModCachePortalWide(PortalId); //clear any cache
                }
            }
        }
예제 #13
0
        private void SharedRecord(NBrightInfo i)
        {
            var createdportalid = i.PortalId;

            if (createdportalid == -1)
            {
                createdportalid = PortalSettings.Current.PortalId;                        // previously shared record, so defualt to current.
            }
            i.SetXmlProperty("genxml/createdportalid", createdportalid.ToString(""));
            i.PortalId = -1;
            ModCtrl.Update(i);
        }
예제 #14
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            _isSkinControl = false;
            // get setting via control params
            if (!String.IsNullOrEmpty(Searchtemplate))
            {
                // is skin control
                _isSkinControl = true;
                if (!String.IsNullOrEmpty(RedirectTabId))
                {
                    ModSettings.Set("redirecttabid", RedirectTabId);
                }
                else
                {
                    ModSettings.Set("redirecttabid", StoreSettings.Current.Get("productlisttab")); // choose the default search page
                }
                if (String.IsNullOrEmpty(TargetModulekey))
                {
                    TargetModulekey = StoreSettings.Current.Get("productsearchmod");                                        //choose the default search page
                }
                if (!String.IsNullOrEmpty(TargetModulekey))
                {
                    ModSettings.Set("targetmodulekey", TargetModulekey);
                }
                if (!String.IsNullOrEmpty(Themefolder))
                {
                    ModSettings.Set("themefolder", Themefolder);
                }
                if (!String.IsNullOrEmpty(Searchtemplate))
                {
                    ModSettings.Set("txtsearchtemplate", Searchtemplate);
                }
            }

            if (ModSettings.Get("txtsearchtemplate") == "")  // if we don't have module setting jump out
            {
                rpData.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS");
                return;
            }

            // Get Display template
            var templDname = ModSettings.Get("txtsearchtemplate");
            var templD     = ModCtrl.GetTemplateData(ModSettings, templDname, Utils.GetCurrentCulture(), DebugMode);


            // Get Display Body
            rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(templD, ModSettings.Settings(), PortalSettings.HomeDirectory);
            _templD             = (GenXmlTemplate)rpData.ItemTemplate;
        }
예제 #15
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            _entryid = Utils.RequestParam(Context, "eid");
            if (_entryid != "")
            {
                _templatType = "detail";
            }

            // create different templates for properties
            if (!String.IsNullOrEmpty(Edittype) && Edittype.ToLower() == "group")
            {
                _templatType = "properties" + _templatType;
                // Get Search
                var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "propertiessearch.html", Utils.GetCurrentCulture(), DebugMode);
                _templSearch          = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                rpSearch.ItemTemplate = _templSearch;
            }
            else
            {
                _templatType = "category" + _templatType;
            }

            var t1 = _templatType + "header.html";
            var t2 = _templatType + "body.html";
            var t3 = _templatType + "footer.html";

            // Get Display Header
            var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode);

            rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            // Get Display Body
            var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode);

            rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            // Get Display Footer
            var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode);

            rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

            // get selected open catid
            var stropenid = Utils.RequestParam(Context, "catid");

            if (Utils.IsNumeric(stropenid))
            {
                _openid = Convert.ToInt32(stropenid);
            }
        }
예제 #16
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            _addressData = new AddressData();

            if (ModSettings.Get("themefolder") == "")  // if we don't have module setting jump out
            {
                rpDataH.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS");
                return;
            }

            try
            {
                _templH   = ModSettings.Get("txtdisplayheader");
                _templD   = ModSettings.Get("txtdisplaybody");
                _templF   = ModSettings.Get("txtdisplayfooter");
                _templinp = ModSettings.Get("txtinputform");

                // Get Display Header
                var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, _templH, Utils.GetCurrentCulture(), DebugMode);

                _templateHeader      = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                rpDataH.ItemTemplate = _templateHeader;

                // insert page header text
                NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, _templateHeader, ModSettings.Settings(), null, DebugMode);

                // Get Display Body
                var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, _templD, Utils.GetCurrentCulture(), DebugMode);
                rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                // Get Display Footer
                var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, _templF, Utils.GetCurrentCulture(), DebugMode);
                rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                // Get Display Footer
                var rpInpTempl = ModCtrl.GetTemplateData(ModSettings, _templinp, Utils.GetCurrentCulture(), DebugMode);
                rpAddr.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpInpTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            }
            catch (Exception exc)
            {
                rpDataF.ItemTemplate = new GenXmlTemplate(exc.Message, ModSettings.Settings());
                // catch any error and allow processing to continue, output error as footer template.
            }
        }
예제 #17
0
        private void FixRecordSortOrder()
        {
            // fix any incorrect sort orders
            Double lp        = 1;
            var    levelList = NBrightBuyUtils.GetCategoryGroups(EditLanguage, true);

            foreach (NBrightInfo catinfo in levelList)
            {
                var recordsortorder = catinfo.GetXmlPropertyDouble("genxml/hidden/recordsortorder");
                if (recordsortorder != lp)
                {
                    var catData = CategoryUtils.GetCategoryData(catinfo.ItemID, StoreSettings.Current.EditLanguage);
                    catData.DataRecord.SetXmlPropertyDouble("genxml/hidden/recordsortorder", lp);
                    ModCtrl.Update(catData.DataRecord);
                }
                lp += 1;
            }
        }
예제 #18
0
        private List <NBrightInfo> GetTreeCatList(List <NBrightInfo> rtnList, int level = 0, int parentid = 0, string groupref = "", string parentlist = "", int displaylevels = 50)
        {
            if (level > displaylevels)
            {
                return(rtnList);                       // stop infinate loop
            }
            var strFilter = "";

            if (groupref == "" || groupref == "0") // Because we've introduced Properties (for non-category groups) we will only display these if cat is not selected.
            {
                strFilter += " and [XMLData].value('(genxml/dropdownlist/ddlgrouptype)[1]','nvarchar(max)') != 'cat' ";
            }
            else
            {
                if (groupref == "cat")
                {
                    strFilter = " and NB1.ParentItemId = " + parentid + " ";                    // only category have multipel levels.
                }
                strFilter += " and [XMLData].value('(genxml/dropdownlist/ddlgrouptype)[1]','nvarchar(max)') = '" + groupref + "' ";
            }

            if (parentid > 0)
            {
                parentlist += parentid.ToString("") + ";";
            }

            var levelList = ModCtrl.GetDataList(PortalSettings.Current.PortalId, -1, "CATEGORY", "CATEGORYLANG", EditLanguage, strFilter, " order by [XMLData].value('(genxml/hidden/recordsortorder)[1]','decimal(10,2)') ", true);

            foreach (NBrightInfo catinfo in levelList)
            {
                var str = new string('.', level);
                str = str.Replace(".", "....");
                catinfo.SetXmlProperty("genxml/hidden/levelprefix", str);
                rtnList.Add(catinfo);
                catinfo.SetXmlProperty("genxml/parentlist", parentlist);
                if (groupref == "cat")
                {
                    rtnList = GetTreeCatList(rtnList, level + 1, catinfo.ItemID, groupref, parentlist, displaylevels);                    // only category have multipel levels.
                }
            }

            return(rtnList);
        }
예제 #19
0
        private void DisplayProductError(String msg)
        {
            //display the error if superuser (don;t want to log it.)
            var errmsg = ModCtrl.GetTemplateData(ModSettings, "productunavailable.html", Utils.GetCurrentCulture(), DebugMode);

            if (UserInfo.IsSuperUser)
            {
                errmsg += msg;
            }
            var obj = new NBrightInfo(true);
            var razorTemplateKey = "NBrightBuyRazorKey*productunavailable" + PortalId.ToString() + "*" + Utils.GetCurrentCulture();

            errmsg = RazorUtils.RazorRender(obj, errmsg, razorTemplateKey, StoreSettings.Current.DebugMode);
            var l = new Literal();

            l.Text = errmsg;
            phData.Controls.Add(l);
            //Response.StatusCode = 404; //causes 404 page on live site???
        }
예제 #20
0
 private void FixRecordGroupType(String parentid, String groupType)
 {
     if (Utils.IsNumeric(parentid) && Convert.ToInt32(parentid) > 0)
     {
         // fix any incorrect sort orders
         var strFilter = " and NB1.ParentItemId = " + parentid + " ";
         var levelList = ModCtrl.GetDataList(PortalSettings.Current.PortalId, -1, "CATEGORY", "CATEGORYLANG", EditLanguage, strFilter, " order by [XMLData].value('(genxml/hidden/recordsortorder)[1]','decimal(10,2)') ", true);
         foreach (NBrightInfo catinfo in levelList)
         {
             var grouptype = catinfo.GetXmlProperty("genxml/dropdownlist/ddlgrouptype");
             var catData   = CategoryUtils.GetCategoryData(catinfo.ItemID, StoreSettings.Current.EditLanguage);
             if (grouptype != groupType)
             {
                 catData.DataRecord.SetXmlProperty("genxml/dropdownlist/ddlgrouptype", groupType);
                 ModCtrl.Update(catData.DataRecord);
             }
             FixRecordGroupType(catData.Info.ItemID.ToString(""), groupType);
         }
     }
 }
예제 #21
0
        public override NBrightInfo EventBeforeUpdate(System.Web.UI.WebControls.Repeater rpData, NBrightDNN.NBrightInfo objInfo)
        {
            // check we have a unique modulekey and then return the new key for updating.
            var dbKey = "";
            var objDb = ModCtrl.Get(objInfo.ItemID);

            if (objDb != null)
            {
                dbKey = objDb.GetXmlProperty("genxml/textbox/modulekey");
            }
            var newKey = objInfo.GetXmlProperty("genxml/textbox/modulekey");

            if (newKey != dbKey)
            {
                newKey = NBrightBuyUtils.GetUniqueKeyRef(PortalId, ModuleId, newKey, 0);
                objInfo.SetXmlProperty("genxml/textbox/modulekey", newKey);
                objInfo.GUIDKey = newKey;
            }
            return(objInfo);
        }
예제 #22
0
 private void UpdateXrefRecords(NBrightInfo nbi)
 {
     // Get new parentitemid
     if (_recordXref.ContainsKey(nbi.ParentItemId))
     {
         nbi.ParentItemId = _recordXref[nbi.ParentItemId];
     }
     // Get new xrefitemid
     if (_recordXref.ContainsKey(nbi.XrefItemId))
     {
         nbi.XrefItemId = _recordXref[nbi.XrefItemId];
     }
     // if we have a xref record update the guidkey
     if (nbi.ParentItemId > 0 && nbi.XrefItemId > 0)
     {
         nbi.GUIDKey = nbi.XrefItemId.ToString("") + "x" + nbi.ParentItemId.ToString("");
         //if we already have a record with this xref guid then we don;t need to update
         ModCtrl.Update(nbi);
     }
 }
예제 #23
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            var t1 = "grouplistheader.html";
            var t2 = "grouplistbody.html";
            var t3 = "grouplistfooter.html";

            // Get Display Header
            var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode);

            rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            // Get Display Body
            var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode);

            rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            // Get Display Footer
            var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode);

            rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
        }
예제 #24
0
 private String GetEntryIdFromName(String entryId)
 {
     // get correct itemid, based on eid given
     if (_ename != "")
     {
         var o = ModCtrl.GetByGuidKey(PortalId, ModuleId, EntityTypeCodeLang, _ename);
         if (o == null)
         {
             o = ModCtrl.GetByGuidKey(PortalId, ModuleId, EntityTypeCode, _ename);
             if (o != null)
             {
                 entryId = o.ItemID.ToString("");
             }
         }
         else
         {
             entryId = o.ParentItemId.ToString("");
         }
     }
     return(entryId);
 }
예제 #25
0
        private void RelinkNewIds()
        {
            var l = ModCtrl.GetList(PortalId, -1, "CATEGORY");

            foreach (var i in l)
            {
                if (_recordXref.ContainsKey(i.ParentItemId))
                {
                    i.ParentItemId = _recordXref[i.ParentItemId];
                    ModCtrl.Update(i);
                }
                var pcatid = i.GetXmlProperty("genxml/dropdownlist/ddlparentcatid");
                if (Utils.IsNumeric(pcatid) && pcatid != "0")
                {
                    if (_recordXref.ContainsKey(Convert.ToInt32(pcatid)))
                    {
                        i.SetXmlProperty("genxml/dropdownlist/ddlparentcatid", _recordXref[Convert.ToInt32(pcatid)].ToString());
                        ModCtrl.Update(i);
                    }
                }
            }

            l = ModCtrl.GetList(PortalId, -1, "CATCASCADE");
            foreach (var i in l)
            {
                UpdateXrefRecords(i);
            }

            l = ModCtrl.GetList(PortalId, -1, "CATXREF");
            foreach (var i in l)
            {
                UpdateXrefRecords(i);
            }

            l = ModCtrl.GetList(PortalId, -1, "PRDXREF");
            foreach (var i in l)
            {
                UpdateXrefRecords(i);
            }
        }
예제 #26
0
        /// <summary>
        /// Ref MUST be unique to import products, this function checks and fixes any duplicates.
        /// </summary>
        /// <param name="typeCode"></param>
        /// <param name="refxpath"></param>
        private void FixUniqueRef(string typeCode, string refxpath)
        {
            var refList = new List <string>();
            var l       = ModCtrl.GetList(PortalId, -1, typeCode);

            foreach (var i in l)
            {
                var currentRef = i.GetXmlProperty(refxpath);
                if (refList.Contains(currentRef))
                {
                    var nbi    = ModCtrl.Get(i.ItemID);
                    var newref = currentRef + ":" + i.ItemID;
                    nbi.SetXmlProperty(refxpath, newref);
                    ModCtrl.Update(nbi);
                    refList.Add(newref);
                }
                else
                {
                    refList.Add(currentRef);
                }
            }
        }
예제 #27
0
        protected override void OnInit(EventArgs e)
        {
            _page = Utils.RequestParam(Context, "page");
            if (Utils.IsNumeric(Utils.RequestParam(Context, "eid")))
            {
                _eid = Convert.ToInt32(Utils.RequestParam(Context, "eid"));
            }

            base.OnInit(e);

            var t2 = "productadminlist.html";

            if (_eid > 0)
            {
                t2 = "productadmin.html";
            }

            // Get Display Body
            var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode);

            rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
        }
예제 #28
0
        override protected void OnInit(EventArgs e)
        {
            base.OnInit(e);

            _uid         = Utils.RequestParam(Context, "uid");
            _addressData = new AddressData(_uid);

            try
            {
                _templH   = "addressbookheader.html";
                _templD   = "addressbookbody.html";
                _templF   = "addressbookfooter.html";
                _templinp = "addressbookinput.html";

                // Get Display Header
                var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, _templH, Utils.GetCurrentCulture(), DebugMode);

                rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
                _templateHeader      = (GenXmlTemplate)rpDataH.ItemTemplate;

                // Get Display Body
                var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, _templD, Utils.GetCurrentCulture(), DebugMode);
                rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                // Get Display Footer
                var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, _templF, Utils.GetCurrentCulture(), DebugMode);
                rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);

                // Get Display Footer
                var rpInpTempl = ModCtrl.GetTemplateData(ModSettings, _templinp, Utils.GetCurrentCulture(), DebugMode);
                rpAddr.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpInpTempl, ModSettings.Settings(), PortalSettings.HomeDirectory);
            }
            catch (Exception exc)
            {
                rpDataF.ItemTemplate = new GenXmlTemplate(exc.Message, ModSettings.Settings());
                // catch any error and allow processing to continue, output error as footer template.
            }
        }
예제 #29
0
        private void FixRecordSortOrder(String parentid)
        {
            if (!Utils.IsNumeric(parentid))
            {
                parentid = "0";
            }
            // fix any incorrect sort orders
            Double lp        = 1;
            var    strFilter = " and NB1.ParentItemId = " + parentid + " ";
            var    levelList = ModCtrl.GetDataList(PortalSettings.Current.PortalId, -1, "CATEGORY", "CATEGORYLANG", EditLanguage, strFilter, " order by [XMLData].value('(genxml/hidden/recordsortorder)[1]','decimal(10,2)') ", true);

            foreach (NBrightInfo catinfo in levelList)
            {
                var recordsortorder = catinfo.GetXmlProperty("genxml/hidden/recordsortorder");
                if (!Utils.IsNumeric(recordsortorder) || Convert.ToDouble(recordsortorder, CultureInfo.GetCultureInfo("en-US")) != lp)
                {
                    var catData = CategoryUtils.GetCategoryData(catinfo.ItemID, StoreSettings.Current.EditLanguage);
                    catData.DataRecord.SetXmlProperty("genxml/hidden/recordsortorder", lp.ToString(""));
                    ModCtrl.Update(catData.DataRecord);
                }
                lp += 1;
            }
        }
예제 #30
0
        private void MoveRecord(int itemId)
        {
            var selecteditemid = GenXmlFunctions.GetField(rpDataH, "selecteditemid");

            if (Utils.IsNumeric(selecteditemid))
            {
                var movData  = CategoryUtils.GetCategoryData(itemId, StoreSettings.Current.EditLanguage);
                var selData  = CategoryUtils.GetCategoryData(Convert.ToInt32(selecteditemid), StoreSettings.Current.EditLanguage);
                var neworder = movData.DataRecord.GetXmlPropertyDouble("genxml/hidden/recordsortorder");
                var selorder = selData.DataRecord.GetXmlPropertyDouble("genxml/hidden/recordsortorder");
                if (neworder < selorder)
                {
                    neworder = neworder - 0.5;
                }
                else
                {
                    neworder = neworder + 0.5;
                }
                selData.DataRecord.SetXmlPropertyDouble("genxml/hidden/recordsortorder", neworder);
                ModCtrl.Update(selData.DataRecord);
                FixRecordSortOrder();
            }
        }