private void AddGroup() { EditGroupForm editGroupForm = new EditGroupForm(); if (editGroupForm.ShowDialog(this) == DialogResult.OK) { Group group = new Group(); short newId = 0; for (int i = 0; i < GroupsManager.Count; i++) { if (GroupsManager[i].groupId > newId) { newId = GroupsManager[i].groupId; } } group.groupId = ++newId; group.groupName = editGroupForm.GroupName; if (GroupsManager.AddGroup(group)) { groupsListBox.Items.Add(group.groupName); } else { MessageBox.Show(this, "Группа с таким именем уже существует!", "Группа существует", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }
/// <summary> /// Выполняет инициализацию ядра ОС. /// </summary> public DehaxOS() { _fileSystemImage = new FileStream(FS_IMAGE_PATH, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite, FS_IMAGE_BUFFER, FileOptions.RandomAccess); FileSystem = new DehaxFileSystem(_fileSystemImage, ROOT_USER_ID, ROOT_GROUP_ID); Scheduler = new DehaxScheduler(); _usersManager = new UsersManager(); _groupsManager = new GroupsManager(); IsLoggedIn = false; if (IsFirstRun) { User rootUser = new User(ROOT_USER_NAME, ROOT_USER_PASSWORD_HASH, ROOT_USER_ID, ROOT_GROUP_ID); _usersManager.AddUser(rootUser); Group rootGroup = new Group(ROOT_GROUP_NAME, ROOT_GROUP_ID); rootGroup.AddUser(rootUser); _groupsManager.AddGroup(rootGroup); ROOT_USER = rootUser; User = rootUser; IsLoggedIn = true; Install(); IsLoggedIn = false; } else { Initialize(); } }
public UsersForm(UsersManager usersManager, GroupsManager groupsManager) { InitializeComponent(); UsersManager = usersManager; GroupsManager = groupsManager; UsersChanged = false; GroupsChanged = false; }
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; } }