Beispiel #1
0
        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;
        }