// Creates a new user async Task CreateUser() { try { // Clear dialog values createUserDialog.ClearCreateValues(); if (createUserDialog.ShowDialog(this) == DialogResult.OK) { // Get the user data var user = createUserDialog.CreateUserFromDialog(); if (user == null) { return; } // Ensure unique username foreach (ListViewItem li in usersListView.Items) { if (li.Text == user.Name) { AppForm.DisplayError("User already exists: " + user.Name, "Create Error"); return; } } // Create the user var response = await InfluxDbClient.CreateUserAsync(user.Name, createUserDialog.Password, user.IsAdmin); // Select the user and refresh the window if (response.Success) { SelectedUser = user; await ExecuteRequestAsync(); } else { AppForm.DisplayError(response.Body); } // Update interface buttons UpdateUIState(); } } catch (Exception ex) { AppForm.DisplayException(ex); } }