/// <summary> /// Binds the dialog to a user. /// </summary> /// <param name="grant">The privilege grant to bind to.</param> public void BindToGrant(string username, InfluxDbGrant grant) { if (string.IsNullOrWhiteSpace(username)) { throw new ArgumentNullException("username"); } if (grant == null) { throw new ArgumentNullException("grant"); } // Bind user details Username = usernameValue.Text = username; Database = databaseValue.Text = grant.Database; for (var i = 0; i < privilegeComboBox.Items.Count; i++) { var p = (InfluxDbPrivileges)privilegeComboBox.Items[i]; if (p == grant.Privilege) { privilegeComboBox.SelectedIndex = i; break; } } }
// Handle change to selected privilege private void grantsListView_SelectedIndexChanged(object sender, EventArgs e) { var selectedItem = grantsListView.SelectedItems.Count > 0 ? grantsListView.SelectedItems[0] : null; if (selectedItem == null) { SelectedPrivilegeGrant = null; } else { SelectedPrivilegeGrant = selectedItem.Tag as InfluxDbGrant; } // Update interface buttons UpdateUIState(); }
// Handle changes to the selected user private async void usersListView_SelectedIndexChanged(object sender, EventArgs e) { var selectedItem = usersListView.SelectedItems.Count > 0 ? usersListView.SelectedItems[0] : null; if (selectedItem == null) { SelectedUser = null; // Clear grants SelectedPrivilegeGrant = null; grantsListView.BeginUpdate(); grantsListView.Items.Clear(); grantsListView.EndUpdate(); } else { SelectedUser = selectedItem.Tag as InfluxDbUser; await BindToPrivileges(SelectedUser); } // Update interface buttons UpdateUIState(); }