private void LoadNaviTree(Guid?navTreeId) { //Load The structure of the Navigation CSBooster_DataContext csb = new CSBooster_DataContext(Helper.GetSiemeConnectionString()); XDocument xNavigation = new XDocument(); if (navTreeId.HasValue) { hidCurrNavID.Value = navTreeId.ToString(); var navStructureRecord = csb.hisp_Navigation_GetNavigationStructureXML(navTreeId).SingleOrDefault(); var navLanguageRecord = csb.hisp_Navigation_GetNavigationLanguageXML(navTreeId, CultureHandler.GetCurrentNeutralLanguageCode()).SingleOrDefault(); if (navStructureRecord != null) { XElement xmlStruct = XElement.Parse(navStructureRecord.NST_XMLStruct); XElement xmlLanguage = navLanguageRecord != null?XElement.Parse(navLanguageRecord.NAV_XMLNames) : XElement.Parse(@"<Tree/>"); xNavigation = new XDocument(); XElement xRoot = new XElement("Tree"); XElement xCurrentParrent = new XElement("Node", new XAttribute("Text", csb.hisp_Navigation_GetNavigationKeyName(navTreeId).SingleOrDefault().NST_KeyName), new XAttribute("Value", navTreeId.ToString())); foreach (var xnode in xmlStruct.Elements("Node")) { XElement xnewChild = DataAccess.Business.Navigation.ReplaceData(xnode, xmlLanguage, true); if (xnewChild != null) { xCurrentParrent.Add(xnewChild); } } xRoot.Add(xCurrentParrent); xNavigation.Add(xRoot); if (navStructureRecord.NST_IsDirty) { lbtnG.Text = language.GetString("TooltipNotSynchronized"); lbtnG.CssClass = "icon navnotsynchro"; } else { lbtnG.Text = language.GetString("TooltipSynchronized"); lbtnG.CssClass = "icon navsynchro"; } } } else { navTreeId = Guid.NewGuid(); hidCurrNavID.Value = navTreeId.ToString(); xNavigation = XDocument.Parse(string.Format(@"<Tree><Node Text=""Neue Navigation"" Value=""{0}""/></Tree>", hidCurrNavID.Value)); //Create a New Navigation XDocument xStruct = new XDocument( new XElement("Tree")); XDocument xLang = new XDocument( new XElement("Tree")); csb.hisp_Navigation_SaveNavigationStructure(navTreeId, "Neue Navigation", xStruct.ToString()); lbtnG.Text = language.GetString("TooltipNotSynchronized"); lbtnG.CssClass = "icon navnotsynchro"; csb.hisp_Navigation_SaveNavigationLanguage(navTreeId, CultureHandler.GetCurrentNeutralLanguageCode(), xLang.ToString(), string.Empty); lbtnG.Text = language.GetString("TooltipSynchronized"); lbtnG.CssClass = "icon navnotsynchro"; } rtv1.LoadXmlString(xNavigation.ToString()); rtv1.Nodes[0].EnableContextMenu = true; rtv1.Nodes[0].ContextMenuID = rtvCMRoot.ID; }