/// <summary> /// Bulk updates the virtual machine checkbox. /// </summary> /// <param name="isChecked">if set to <c>true</c> [is checked].</param> private void BulkUpdateVirtualMachineCheckbox(bool isChecked) { Cursor = Cursors.WaitCursor; var currentPlatform = platform_DataGridView.SelectedRows[0].DataBoundItem as FrameworkClientPlatform; foreach (DataGridViewRow row in virtualMachine_DataGridView.SelectedRows) { row.Cells[0].Value = isChecked; VirtualMachineRow virtualMachineRow = row.DataBoundItem as VirtualMachineRow; UpdateVirtualMachineList(isChecked, currentPlatform, virtualMachineRow); } Cursor = Cursors.Default; }
private void virtualMachine_DataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { if (e.ColumnIndex == 0) { // The boolean value here is swapped, because the checked value of the control is // opposite of where it is heading. bool isChecked = !(bool)virtualMachine_DataGridView.Rows[e.RowIndex].Cells["virtualMachineSelectedColumn"].Value; FrameworkClientPlatform currentPlatform = platform_DataGridView.SelectedRows[0].DataBoundItem as FrameworkClientPlatform; VirtualMachineRow virtualMachineRow = virtualMachine_DataGridView.Rows[e.RowIndex].DataBoundItem as VirtualMachineRow; UpdateVirtualMachineList(isChecked, currentPlatform, virtualMachineRow); } } }
private void UpdateVirtualMachineList(bool isChecked, FrameworkClientPlatform currentPlatform, VirtualMachineRow virtualMachineRow) { FrameworkClient frameworkClient = _assetInventoryContext.FrameworkClients.Find(virtualMachineRow.Machine.Name); if (isChecked && !frameworkClient.Platforms.Contains(currentPlatform)) { frameworkClient.Platforms.Add(currentPlatform); } else { frameworkClient.Platforms.Remove(currentPlatform); } }