コード例 #1
0
        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;
        }
コード例 #2
0
        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;
        }