private async void buttonChangeRole_Click(object sender, EventArgs e) { if (this.listviewAccounts.SelectedItems.Count != 1) { return; } var selectedItem = this.listviewAccounts.SelectedItems[0]; try { var username = new Shared.Username(selectedItem.Text); bool isAdmin = selectedItem.SubItems[1].Text != "Administrator"; var response = await SocketManager.Instance.SendRequest <ChangeAdminResponse>(new ChangeAdminRequest(username, isAdmin)); selectedItem.SubItems[1].Text = response.username.isAdmin ? "Administrator" : "Standard"; } catch (ResponseException ex) { using (var dialog = new TaskDialog() { Caption = "Cannot Change Role", InstructionText = "Unable to change the role for this user", Text = ex.Message, StandardButtons = TaskDialogStandardButtons.Close, Icon = TaskDialogStandardIcon.Error }) { dialog.Show(); } } }
private async void submitButton(object sender, EventArgs e) { try { Shared.Application app = new Shared.Application(); String plainTextPw = pwTextBox.Text; var encryptedPw = Shared.CryptManager.encrypt(plainTextPw, secretKey); Shared.Username username = new Shared.Username(usernameTextBox.Text, encryptedPw); Shared.Username[] userName = new Shared.Username[] { username }; app.Usernames = userName; app.Type = appTypeComboBox.Text; app.Name = appNameTextBox.Text; NewAppRequest request = new NewAppRequest(app); var response = await SocketManager.Instance.SendRequest <NewAppResponse>(request); this.managerForm.addAppToTree(response.application); this.Close(); } catch (ResponseException ex) { using (var details = new TaskDialog() { Caption = "Cannot Add User", InstructionText = "Unable to add this application and user", Text = ex.Message, Icon = TaskDialogStandardIcon.Error, StandardButtons = TaskDialogStandardButtons.Close }) { details.Show(); } } }
private async Task SendLoginRequest() { Console.WriteLine("The Submit button was clicked!"); String username = this.usernameTextBox.Text; String password = this.passwordTextBox.Text; Shared.Username user = new Shared.Username(username, password); LoginRequest msg = new LoginRequest(user); SocketManager sktMngr = SocketManager.Instance; try { sktMngr.connect(this.serverAddressTextBox.Text, (int)serverPort.Value); LoginResponse resp = await sktMngr.SendRequest <LoginResponse>(msg); if (resp == null) { using (var taskDialog = new TaskDialog() { Caption = "Password Manager", Icon = TaskDialogStandardIcon.Error, InstructionText = "Unable to log in", OwnerWindowHandle = this.Handle, Text = "Make sure the username and password you've entered is correct, and then try again.", StandardButtons = TaskDialogStandardButtons.Close }) { taskDialog.Show(); } } else { this.isAdmin = resp.isAdmin; this.IsLoginSuccessful = true; this.Close(); this.LoginSucceeded?.Invoke(this, EventArgs.Empty); } } catch (SocketException ex) { using (var taskDialog = new TaskDialog() { Caption = "Password Manager", Icon = TaskDialogStandardIcon.Error, InstructionText = "Unable to connect to the server", Text = "Make sure that the server is running, and then try again.", StandardButtons = TaskDialogStandardButtons.Close, OwnerWindowHandle = this.Handle, DetailsCollapsedLabel = "Show error", DetailsExpandedLabel = "Hide error", DetailsExpandedText = string.Format("{1} (0x{0:X8})", ex.ErrorCode, ex.Message) }) { taskDialog.Show(); } } }
public Shared.Username [] getUsers() { String sqlString = "SELECT name, isadmin FROM users"; SQLiteCommand command = new SQLiteCommand(sqlString, dbConnection); SQLiteDataReader reader = command.ExecuteReader(); List <Shared.Username> users = new List <Shared.Username> (); while (reader.Read()) { Shared.Username username = new Shared.Username(reader["name"].ToString()); username.isAdmin = (bool)reader["isadmin"]; users.Add(username); } return(users.ToArray()); }
/** * @brief * Gets the list of usernames the 'user' has for the given application */ private Shared.Username [] getUserNames(String appName, String user) { List <Shared.Username> usernames = new List <Shared.Username>(); String sqlString = "SELECT username FROM applications WHERE application = @application AND name = @name"; SQLiteCommand command = new SQLiteCommand(sqlString, dbConnection); command.Parameters.AddWithValue("@name", user); command.Parameters.AddWithValue("@application", appName); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { Shared.Username username = new Shared.Username(reader["username"].ToString()); usernames.Add(username); } return(usernames.ToArray()); }
private async void buttonAddUser_Click(object sender, EventArgs e) { var addUserDialog = new AddUserDialog(); if (addUserDialog.ShowDialog(this) != DialogResult.OK) { return; } // TODO: Should we check isAdmin via Shared.Username instead of CreateNewUserRequest constructor? try { var username = new Shared.Username(addUserDialog.userName, addUserDialog.password); var response = await SocketManager.Instance.SendRequest <CreateNewUserResponse>(new CreateNewUserRequest(username, addUserDialog.isAdmin)); if (response.isSuccessful) { var userItem = new ListViewItem(addUserDialog.userName); userItem.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = addUserDialog.isAdmin ? "Administrator" : "Standard" }); this.listviewAccounts.Items.Add(userItem); } } catch (ResponseException ex) { using (var dialog = new TaskDialog() { Caption = "Password Manager", InstructionText = "Unable to be add this user", Text = ex.Message, Icon = TaskDialogStandardIcon.Error, StandardButtons = TaskDialogStandardButtons.Close }) { dialog.Show(); } } }
public CreateNewUserRequest(Shared.Username user, bool isAdmin = false) : base(MessageID, MessageType.Request) { username = user; makeAdmin = isAdmin; }
public ChangeAdminRequest(Shared.Username user, bool admin) : base(MessageID, MessageType.Request) { username = user; makeAdmin = admin; }
public ChangeAdminResponse(Shared.Username user) : base(MessageID, MessageType.Response) { username = user; }
public LoginRequest(Shared.Username user) : base(MessageID, MessageType.Request) { username = user; }