示例#1
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
                }
            }
        }
示例#2
0
        private void MoveRecord(int movetocatid, int movecatid)
        {
            if (movecatid > 0)
            {
                var movData = CategoryUtils.GetCategoryData(movetocatid, EditLangCurrent);
                var selData = CategoryUtils.GetCategoryData(movecatid, EditLangCurrent);
                if (movData.Exists && selData.Exists)
                {
                    var fromParentItemid = selData.DataRecord.ParentItemId;
                    var toParentItemid   = movData.DataRecord.ParentItemId;
                    var reindex          = toParentItemid != fromParentItemid;
                    var objGrpCtrl       = new GrpCatController(EditLangCurrent);
                    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.GetXmlPropertyDouble("genxml/hidden/recordsortorder");
                        var selorder    = selData.DataRecord.GetXmlPropertyDouble("genxml/hidden/recordsortorder");
                        var neworder    = Convert.ToDouble(strneworder, CultureInfo.GetCultureInfo("en-US"));
                        if (strneworder < selorder)
                        {
                            neworder = neworder - 0.5;
                        }
                        else
                        {
                            neworder = neworder + 0.5;
                        }
                        selData.DataRecord.SetXmlProperty("genxml/hidden/recordsortorder", neworder.ToString(""), TypeCode.Double);
                        var objCtrl = new NBrightBuyController();
                        objCtrl.Update(selData.DataRecord);

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

                        if (reindex)
                        {
                            objGrpCtrl.ReIndexCascade(fromParentItemid);    // reindex from parent and parents.
                            objGrpCtrl.ReIndexCascade(selData.Info.ItemID); // reindex select and parents
                        }
                        NBrightBuyUtils.RemoveModCachePortalWide(PortalSettings.Current.PortalId);
                    }
                }
            }
        }
        public IEncodedString CategoryBreadCrumb(Boolean includelinks, NBrightRazor model, Boolean aslist = true, int tabRedirect = -1, String separator = "", int wordlength = -1, int maxlength = 400)
        {
            var strOut = "";

            try
            {
                var catid = 0;
                if (model.GetUrlParam("eid") != "")
                {
                    // looking at detail, so use product categoryid
                    if (model.List.Any())
                    {
                        var product = (ProductData)model.List.First();
                        var catgrp  = product.GetDefaultCategory();
                        catid = catgrp != null ? catgrp.categoryid : 0;
                    }
                }
                else
                {
                    var navigationdata = new NavigationData(PortalSettings.Current.PortalId, model.GetSetting("modref"));
                    catid = navigationdata.CategoryId;
                }

                if (catid <= 0) // check we have a catid
                {
                    return(new RawString(""));;
                }

                var grpCatCtrl = new GrpCatController(Utils.GetCurrentCulture());
                var objCInfo   = grpCatCtrl.GetGrpCategory(catid);
                if (objCInfo != null)
                {
                    if (includelinks)
                    {
                        if (tabRedirect == 0)
                        {
                            tabRedirect = PortalSettings.Current.ActiveTab.TabID;
                        }
                        if (tabRedirect == -1)
                        {
                            tabRedirect = StoreSettings.Current.ProductListTabId;
                        }
                        strOut = grpCatCtrl.GetBreadCrumbWithLinks(catid, tabRedirect, wordlength, separator, aslist);
                    }
                    else
                    {
                        strOut = grpCatCtrl.GetBreadCrumb(catid, wordlength, separator, aslist);
                    }

                    if ((strOut.Length > maxlength) && (!aslist))
                    {
                        strOut = strOut.Substring(0, (maxlength - 3)) + "...";
                    }
                }
            }
            catch (Exception ex)
            {
                strOut = ex.ToString();
            }


            return(new RawString(strOut));
        }
        public IEncodedString Category(String fieldname, NBrightRazor model)
        {
            var strOut = "";

            try
            {
                var navigationdata = new NavigationData(PortalSettings.Current.PortalId, model.GetSetting("modref"));

                // if we have no catid in url, we're going to need a default category from module.
                var grpCatCtrl = new GrpCatController(Utils.GetCurrentCulture());
                var objCInfo   = grpCatCtrl.GetGrpCategory(navigationdata.CategoryId);
                if (objCInfo != null)
                {
                    GroupCategoryData objPcat;
                    switch (fieldname.ToLower())
                    {
                    case "categorydesc":
                        strOut = objCInfo.categorydesc;
                        break;

                    case "message":
                        strOut = System.Web.HttpUtility.HtmlDecode(objCInfo.message);
                        break;

                    case "archived":
                        strOut = objCInfo.archived.ToString(CultureInfo.InvariantCulture);
                        break;

                    case "breadcrumb":
                        strOut = objCInfo.breadcrumb;
                        break;

                    case "categoryid":
                        strOut = objCInfo.categoryid.ToString("");
                        break;

                    case "categoryname":
                        strOut = objCInfo.categoryname;
                        break;

                    case "categoryref":
                        strOut = objCInfo.categoryref;
                        break;

                    case "depth":
                        strOut = objCInfo.depth.ToString("");
                        break;

                    case "disabled":
                        strOut = objCInfo.disabled.ToString(CultureInfo.InvariantCulture);
                        break;

                    case "entrycount":
                        strOut = objCInfo.entrycount.ToString("");
                        break;

                    case "grouptyperef":
                        strOut = objCInfo.grouptyperef;
                        break;

                    case "attributecode":
                        strOut = objCInfo.attributecode;
                        break;

                    case "imageurl":
                        strOut = objCInfo.imageurl;
                        break;

                    case "ishidden":
                        strOut = objCInfo.ishidden.ToString(CultureInfo.InvariantCulture);
                        break;

                    case "isvisible":
                        strOut = objCInfo.isvisible.ToString(CultureInfo.InvariantCulture);
                        break;

                    case "metadescription":
                        strOut = objCInfo.metadescription;
                        break;

                    case "metakeywords":
                        strOut = objCInfo.metakeywords;
                        break;

                    case "parentcatid":
                        strOut = objCInfo.parentcatid.ToString("");
                        break;

                    case "parentcategoryname":
                        objPcat = grpCatCtrl.GetCategory(objCInfo.parentcatid);
                        strOut  = objPcat.categoryname;
                        break;

                    case "parentcategoryref":
                        objPcat = grpCatCtrl.GetCategory(objCInfo.parentcatid);
                        strOut  = objPcat.categoryref;
                        break;

                    case "parentcategorydesc":
                        objPcat = grpCatCtrl.GetCategory(objCInfo.parentcatid);
                        strOut  = objPcat.categorydesc;
                        break;

                    case "parentcategorybreadcrumb":
                        objPcat = grpCatCtrl.GetCategory(objCInfo.parentcatid);
                        strOut  = objPcat.breadcrumb;
                        break;

                    case "parentcategoryguidkey":
                        objPcat = grpCatCtrl.GetCategory(objCInfo.parentcatid);
                        strOut  = objPcat.categoryrefGUIDKey;
                        break;

                    case "recordsortorder":
                        strOut = objCInfo.recordsortorder.ToString("");
                        break;

                    case "seoname":
                        strOut = objCInfo.seoname;
                        if (strOut == "")
                        {
                            strOut = objCInfo.categoryname;
                        }
                        break;

                    case "seopagetitle":
                        strOut = objCInfo.seopagetitle;
                        break;

                    case "url":
                        strOut = objCInfo.url;
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                strOut = ex.ToString();
            }

            return(new RawString(strOut));
        }