private Manifest ReadManifest(XmlElement xmlModule, IDictionary<string, Role> roleDb) { Manifest manifest = new Manifest(); foreach (XmlElement xmlChild in xmlModule.ChildNodes) { if (xmlChild.Name.Equals("RoleList")) { RoleList roleList = new RoleList(); foreach (XmlElement xmlRole in xmlChild.ChildNodes) { if (!xmlRole.Name.Equals("Role")) throw new Exception("child of RoleList shouldn't be " + xmlRole.Name); string roleName = xmlRole.GetAttribute("Name"); if (!roleDb.ContainsKey(roleName.ToLower())) throw new Exception("unknown role name: " + roleName); roleList.AddRole(roleDb[roleName.ToLower()]); } string optional = xmlChild.GetAttribute("Optional"); roleList.Optional = (optional.ToLower().Equals("true")); manifest.AddRoleList(roleList); } } return manifest; }
public void AddRoleList(RoleList roleList) { roleLists.Add(roleList); }