private void PopulateMachineCheckboxes(Data.EnterpriseTest.Model.User selectedUser) { Cursor = Cursors.WaitCursor; User currentUser = _users.FirstOrDefault(f => f.UserName == selectedUser.UserName); if (currentUser != null) { var hostNames = currentUser.UserGroups.SelectMany(e => e.VirtualMachineGroupAssocs).Select(e => e.MachineName).Distinct(); if (hostNames.Count() == 0) { foreach (DataGridViewRow row in machines_DataGridView.Rows) { row.Cells[0].Value = machine_ImageList.Images["Blank"]; } } else { foreach (DataGridViewRow row in machines_DataGridView.Rows) { bool check = hostNames.Contains((string)row.Cells["hostNameColumn"].Value); if (check) { row.Cells[0].Value = machine_ImageList.Images["Tick"]; } else { row.Cells[0].Value = machine_ImageList.Images["Blank"]; } } } } Cursor = Cursors.Default; }
private void PopulateGroupCheckboxes(Data.EnterpriseTest.Model.User selectedUser) { Cursor = Cursors.WaitCursor; var currentUser = _users.FirstOrDefault(f => f.UserName == selectedUser.UserName); if (currentUser != null) { var groupNames = currentUser.UserGroups.Select(e => e.GroupName).Distinct(); if (groupNames.Count() == 0) { foreach (DataGridViewRow row in groups_DataGridView.Rows) { row.Cells[0].Value = machine_ImageList.Images["Blank"]; } } else { foreach (DataGridViewRow row in groups_DataGridView.Rows) { bool check = groupNames.Contains((string)row.Cells["groupNameColumn"].Value); row.Cells[0].Value = check ? machine_ImageList.Images["Tick"] : machine_ImageList.Images["Blank"]; } } } if (groups_DataGridView.Rows.Count > 0) { groups_DataGridView.Rows[0].Selected = true; var selectedGroup = groups_DataGridView.SelectedRows[0].DataBoundItem as UserGroup; var group = _entities.UserGroups.FirstOrDefault(x => x.GroupName.Equals(selectedGroup.GroupName)); var any = group != null && group.Users.Any(x => x.UserName.Equals(selectedUser.UserName)); if (group != null && any) { PopulateMachineCheckboxes(selectedGroup); } else { ClearMachineBackground(); } } Cursor = Cursors.Default; }