private void AddUser() { EditUserForm editUserForm = new EditUserForm(); editUserForm.Groups = new Group[GroupsManager.Count]; for (int i = 0; i < GroupsManager.Count; i++) { editUserForm.Groups[i] = new Group(GroupsManager[i].groupName, GroupsManager[i].groupId); } if (editUserForm.ShowDialog(this) == DialogResult.OK) { User user = new User(); short newId = 0; for (int i = 0; i < UsersManager.Count; i++) { if (UsersManager[i].userId > newId) { newId = UsersManager[i].userId; } } user.userId = ++newId; user.userName = editUserForm.UserName; user.passwordHash = Utils.GetPasswordHash(editUserForm.Password); user.groupId = editUserForm.GroupId; if (UsersManager.AddUser(user)) { GroupsManager.AddUserToGroup(user.groupId, user); usersListBox.Items.Add(user.userName); } else { MessageBox.Show(this, "Пользователь с таким именем уже существует!", "Пользователь существует", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }
private void EditUser() { User user = UsersManager[usersListBox.SelectedIndex]; if (user.userId == 1) { MessageBox.Show(this, "Пользователь root не может быть переименован!", "Невозможно переименовать", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (user.deleted) { MessageBox.Show(this, "Данный пользователь удалён! Редактирование недоступно.", "Пользователь удалён", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } EditUserForm editUserForm = new EditUserForm(); editUserForm.UserName = user.userName; editUserForm.GroupId = user.groupId; editUserForm.Groups = new Group[GroupsManager.Count]; for (int i = 0; i < GroupsManager.Count; i++) { editUserForm.Groups[i] = new Group(GroupsManager[i].groupName, GroupsManager[i].groupId); } if (editUserForm.ShowDialog(this) == DialogResult.OK) { //user = new User(); GroupsManager.DeleteUserFromGroup(user.groupId, user); user.userName = editUserForm.UserName; user.passwordHash = Utils.GetPasswordHash(editUserForm.Password); user.groupId = editUserForm.GroupId; GroupsManager.AddUserToGroup(user.groupId, user); usersListBox.Items[usersListBox.SelectedIndex] = user.userName; } }