void AddGroup(AnnGroupsRoles groupRoles, string groupName, AnnRoles roles) { groupRoles.GroupRoles.Add(groupName, roles); groupRoles.GroupUsers.Add(groupName, new List <string>()); // Fill Groups Combo boxed GroupItem item = new GroupItem(groupName, roles); _chkLstGroups.Items.Add(item); _lstGroups.Items.Add(item); }
void AddUser(AnnGroupsRoles groupRoles, string groupName, string userName) { if (!groupRoles.GroupUsers.ContainsKey(groupName)) { groupRoles.GroupUsers.Add(groupName, new List <string>()); } groupRoles.GroupUsers[groupName].Add(userName); if (!_lstUsers.Items.Contains(userName)) { if (!string.IsNullOrEmpty(userName)) { _lstUsers.Items.Add(userName); } } }
private void _btnLoad_Click(object sender, EventArgs e) { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.Filter = "Annotations Roles File (.xml)|*.xml"; if (openFileDialog.ShowDialog(this) == DialogResult.OK) { XmlDocument document = new XmlDocument(); document.Load(openFileDialog.FileName); XmlNodeList groups = document.GetElementsByTagName("Group"); if (groups != null && groups.Count > 0) { _lstUsers.Items.Clear(); _lstGroups.Items.Clear(); _chkLstGroups.Items.Clear(); AnnGroupsRoles groupRoles = new AnnGroupsRoles(); _automationManager.GroupsRoles = _groupsRoles; foreach (XmlNode group in groups) { XmlAttributeCollection attribs = group.Attributes; if (attribs != null) { string groupName = attribs["Name"].Value; if (!string.IsNullOrEmpty(groupName)) { string rolesValue = attribs["Roles"].Value; string usersValue = attribs["Users"].Value; List <string> users = new List <string>(usersValue.Split(';')); AnnRoles roles = new AnnRoles(); roles.AddRange(rolesValue.Split(';')); AddGroup(groupRoles, groupName, roles); // Fill Users foreach (string user in users) { AddUser(groupRoles, groupName, user); } } } if (_groupsRoles.GroupRoles != null) { _groupsRoles.GroupRoles.Clear(); } if (groupRoles.GroupRoles != null) { foreach (var item in groupRoles.GroupRoles) { _groupsRoles.GroupRoles.Add(item.Key, item.Value); } } if (_groupsRoles.GroupUsers != null) { _groupsRoles.GroupUsers.Clear(); } if (groupRoles.GroupUsers != null) { foreach (var item in groupRoles.GroupUsers) { _groupsRoles.GroupUsers.Add(item.Key, item.Value); } } } } else { Messager.ShowError(this, "Invalid Roles File"); } } UpdateUI(); } }