Exemplo n.º 1
0
        /// <summary>
        /// This method creates the crumbtrail for a given item
        /// </summary>
        /// <param name="reader">The DnaDataReader that contains the crumbtrail result set.</param>
        static public CrumbTrails GetCrumbtrailForItem(IDnaDataReader reader)
        {
            CrumbTrails crumbTrialList = new CrumbTrails();
            bool startOfTrail = true;
            CrumbTrail crumbTrail = null;
            while (reader.Read())
            {
                // Check to see if we're at the top level
                int treeLevel = reader.GetInt32("TreeLevel");
                if (treeLevel == 0)
                {
                    startOfTrail = true;
                }

                // Check to see if we're starting a new trail
                if (startOfTrail)
                {
                    if (crumbTrail != null)
                    {//add the previous to the list
                        crumbTrialList.CrumbTrail.Add(crumbTrail);
                    }
                    //start new
                    crumbTrail = new CrumbTrail();
                    startOfTrail = false;
                }

                CrumbTrailAncestor ancestor = new CrumbTrailAncestor();
                ancestor.Name = reader.GetString("DisplayName");
                ancestor.NodeId = reader.GetInt32("NodeID");
                ancestor.TreeLevel = treeLevel;
                ancestor.NodeType = reader.GetInt32("Type");
                if (reader.Exists("RedirectNodeID") && !reader.IsDBNull("RedirectNodeID"))
                {
                    ancestor.RedirectNode = new CrumbTrialAncestorRedirect();
                    ancestor.RedirectNode.id = reader.GetInt32("RedirectNodeID");
                    ancestor.RedirectNode.value = reader.GetString("RedirectNodeName");
                }
                crumbTrail.Ancestor.Add(ancestor);
            }
            if (crumbTrail != null)
            {//add the previous to the list
                crumbTrialList.CrumbTrail.Add(crumbTrail);
            }
            return crumbTrialList;
        }
Exemplo n.º 2
0
 public static CrumbTrails CreateCrumbTrails()
 {
     CrumbTrails target = new CrumbTrails();
     target.CrumbTrail.Add(new CrumbTrail());
     target.CrumbTrail.Add(new CrumbTrail());
     target.CrumbTrail[0].Ancestor.Add(CrumbTrailsTest.CreateCrumbTrailAncestor());
     target.CrumbTrail[0].Ancestor.Add(CrumbTrailsTest.CreateCrumbTrailAncestor());
     target.CrumbTrail[1].Ancestor.Add(CrumbTrailsTest.CreateCrumbTrailAncestor());
     target.CrumbTrail[1].Ancestor.Add(CrumbTrailsTest.CreateCrumbTrailAncestor());
     return target;
 }