BExIS.Ddm.Providers.DummyProvider.Helpers.Helpers.Search.FacetBuilder.GetAllNodesAsListFromData C# (CSharp) Méthode

GetAllNodesAsListFromData() public static méthode

Get all node from type and there childrens from the metadata list.

The static type define the possible types:

types description CATEGORY_TYPE description DROPDOWN_TYPE description
public static GetAllNodesAsListFromData ( string type, List metadataList ) : IEnumerable
type string criteria/dropbox
metadataList List list of metadata objects
Résultat IEnumerable
        public static IEnumerable<Facet> GetAllNodesAsListFromData(string type, List<Metadata> metadataList)
        {
            LoadXml();
            List<Facet> l = new List<Facet>();

            XmlNodeList typeList = _source.GetElementsByTagName(type);
            XmlNode root = typeList.Item(0);

            foreach (XmlNode x in root.ChildNodes)
            {
                Facet c = new Facet();
                c.Name = x.LocalName;
                c.Text = x.LocalName;
                c.Value = x.LocalName;
                c.Childrens = new List<Facet>();

                List<Facet> lc = MetadataReader.GetAllCategoriesByNodeDistinct(c, metadataList);

                if (lc.Count()>0)
                {
                    int childCount = 0;
                    foreach (Facet c_child in lc)
                    {
                        childCount += c_child.Count;
                        c.Childrens.Add(c_child);

                    }

                    c.Text = c.Name;
                    c.Count += childCount;
                }
                else c.Count = 0;
                l.Add(c);
            }
            return l;
        }