public static void FillXmlElementFromDict(XmlElement root, Dictionary <AdvanceNotificationGroupType, Dictionary <string, ICollection <string> > > dict) { foreach (KeyValuePair <AdvanceNotificationGroupType, Dictionary <string, ICollection <string> > > typeGroups in dict) { foreach (KeyValuePair <string, ICollection <string> > gData in typeGroups.Value) { AdvanceNotificationGroup ng = new AdvanceNotificationGroup(typeGroups.Key, gData.Key, gData.Value); ng.AddToXML("group", root); } } }
/// <summary> /// Returns groups by type in dictionary form /// </summary> /// <param name="root">Groups Xml node</param> /// <returns>groups by type</returns> public static Dictionary <AdvanceNotificationGroupType, Dictionary <string, List <string> > > LoadDictFomXml(XmlNode root) { List <AdvanceNotificationGroup> groups = CreateListFromXml <AdvanceNotificationGroup>(root, "groups", "group"); Dictionary <AdvanceNotificationGroupType, Dictionary <string, List <string> > > ret = new Dictionary <AdvanceNotificationGroupType, Dictionary <string, List <string> > >(); Dictionary <string, List <string> > typeGroups; foreach (XmlNode gNode in GetChildren(root, "group")) { AdvanceNotificationGroup ng = CreateFromXml <AdvanceNotificationGroup>(gNode); if (!ret.TryGetValue(ng.Type, out typeGroups)) { typeGroups = new Dictionary <string, List <string> >(); ret.Add(ng.Type, typeGroups); } typeGroups.Add(ng.Name, ng.Contacts); } return(ret); }