Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
        /// <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();
            }
        }
Esempio n. 3
0
        public UsersForm(UsersManager usersManager, GroupsManager groupsManager)
        {
            InitializeComponent();

            UsersManager  = usersManager;
            GroupsManager = groupsManager;

            UsersChanged  = false;
            GroupsChanged = false;
        }
Esempio n. 4
0
        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;
                }
            }
        }
Esempio n. 5
0
        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;
            }
        }