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 } } }
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)); }