static List GetLocalVersionList()

in DiagManager/DiagClasses/DiagFactory.cs [170:200]


        static List<Version>  GetLocalVersionList(XPathNodeIterator iter) 
        {

            List<Version> verList = new List<Version>();
            while (iter.MoveNext())
            {
                string versionename = iter.Current.GetAttribute("name", "");
                bool versionenabled = Convert.ToBoolean(iter.Current.GetAttribute("enabled", ""));

                //enable this for all Versions
                if (versionename == "All" && versionenabled == true)
                {
                    return GlobalVersionList;
                }
                if (versionenabled)
                {
                    Version ver = GlobalVersionList.Find(x => x.Name == versionename);
                    //if global version is populated, then check
                    if (ver == null && GlobalVersionList.Count > 0 )
                    {
                        throw new ArgumentException(string.Format("versioin {0} doesn't exist in global list", versionename));
                    }
                    else
                    {
                        verList.Add(ver);
                    }
                }

            }
            return verList;
        }