示例#1
0
        public settingsMemberInfoGroupDictionary GetSubDictionary(IEnumerable <String> groups)
        {
            settingsMemberInfoGroupDictionary output = new settingsMemberInfoGroupDictionary();

            foreach (String g in groups)
            {
                if (ContainsKey(g))
                {
                    output.Add(g, this[g]);
                }
            }
            return(output);
        }
        /// <summary>
        /// Builds member info group dictionary
        /// </summary>
        /// <param name="objectInfo">The object information.</param>
        /// <returns></returns>
        public static settingsMemberInfoGroupDictionary GetMemberInfoGroupDictionary(this settingsEntriesForObject objectInfo)
        {
            List <String> groups = new List <string>();
            settingsMemberInfoGroupDictionary output = new settingsMemberInfoGroupDictionary();

            if (objectInfo.CategoryByPriority.Any())
            {
                groups = objectInfo.CategoryByPriority;
            }
            else
            {
                foreach (var pp in objectInfo.spes)
                {
                    if (!groups.Contains(pp.Value.categoryName))
                    {
                        groups.Add(pp.Value.categoryName);
                    }
                }
            }

            foreach (String g in groups)
            {
                output.Add(g, new settingsMemberInfoGroup(g));
            }

            foreach (var pp in objectInfo.spes)
            {
                if (!pp.Value.categoryName.isNullOrEmpty())
                {
                    if (groups.Contains(pp.Value.categoryName))
                    {
                        output[pp.Value.categoryName].Add(pp.Value);
                    }
                }
            }

            return(output);
        }