Exemple #1
0
 public void AddFolder()
 {
     TreeNode selectedNode = this.SelectedNode;
     InputBox ib = new InputBox("Создать папку", "Имя папки:");
     if (ib.ShowDialog() == DialogResult.OK)
     {
         SystemStateManager.OnStateChanged(true);
         SynchronizationContext context = SynchronizationContext.Current;
         _currentThread = new Thread(new ThreadStart(() =>
         {
             TestorTreeItem folder = StaticServerProvider.TestEdit.CreateFolder(_selectedItem.ItemId, ib.Input);
             folder.IsActive = true;
             TestorTagItem tagItem = new TestorTagItem(folder);
             context.Send(d =>
             {
                 TreeNode tn = new TreeNode(ib.Input)
                 {
                     Tag = tagItem
                 };
                 tn.ContextMenuStrip = _nodeContextMenu;
                 if (selectedNode != null)
                 {
                     selectedNode.Expand();
                     selectedNode.Nodes.Add(tn);
                 }
                 else
                     _rootNode.Nodes.Add(tn);
                 SystemStateManager.OnStateChanged(false);
             }, null);
         }));
         _currentThread.Start();
     }
 }
Exemple #2
0
 public void SendTests(TestorData testorData, List<int> groupIds)
 {
     SystemStateManager.OnStateChanged(true);
     TreeNode selectedNode = this.SelectedNode;
     SynchronizationContext context = SynchronizationContext.Current;
     _currentThread = new Thread(new ThreadStart(() =>
     {
         byte[] arr = DataCompressor.CompressData(testorData);
         try
         {
             TestorTreeItem[] newItems = StaticServerProvider.TestEdit.SendTests(arr,
                 _selectedItem.ItemId, groupIds.ToArray());
             foreach (var item in newItems)
                 item.ItemOwner = StaticServerProvider.CurrentUser.UserId;
             context.Send(d =>
             {
                 AddTreeNodes(newItems, selectedNode, false);
                 if (selectedNode != null)
                     selectedNode.Expand();
             }, null);
         }
         catch (Exception ex)
         {
             SystemMessage.ShowErrorMessage(ex);
         }
         finally
         {
             context.Send(d =>
             {
                 SystemStateManager.OnStateChanged(false);
             }, null);
         }
     }));
     _currentThread.Start();
 }
Exemple #3
0
 public void ProcessTestGroups(int testId)
 {
     _rootNode.Checked = false;
     SystemStateManager.OnStateChanged(true);
     try
     {
         _groupIds = GetTestGroups(testId).OrderBy(c => c).ToArray();
         if ((this.TopLevelControl as Form).IsHandleCreated)
         {
             foreach (var node in _serverNodes)
             {
                 if (!_groupIds.Contains(node.Key))
                 {
                     if (node.Value.Checked)
                     {
                         node.Value.Checked = false;
                     }
                 }
                 else
                 {
                     if (!node.Value.Checked)
                     {
                         node.Value.Checked = true;
                     }
                 }
             }
             SystemStateManager.OnStateChanged(false);
         }
     }
     catch (Exception ex)
     {
         SystemMessage.Log(ex);
     }
 }
Exemple #4
0
        public void AddUser()
        {
            SynchronizationContext context = SynchronizationContext.Current;

            SystemStateManager.OnStateChanged(true);
            _currentThread = new Thread(new ThreadStart(() =>
            {
                try
                {
                    TestorCoreUser user = ResultUser;
                    if (!_isAlterMode)
                    {
                        _resultUser = StaticServerProvider.UserManagement.CreateUser(user);
                    }
                    else
                    {
                        StaticServerProvider.UserManagement.AlterUser(_resultUser, true);
                    }
                    context.Send(d =>
                    {
                        SystemStateManager.OnStateChanged(false);
                        this.DialogResult = DialogResult.OK;
                    }, null);
                }
                catch (Exception ex)
                {
                    context.Send(d =>
                    {
                        SystemMessage.ShowErrorMessage(d as Exception);
                        SystemStateManager.OnStateChanged(false);
                    }, ex);
                }
            }));
            _currentThread.Start();
        }
Exemple #5
0
 public void SetTestSettings(TestorData testorData)
 {
     SystemStateManager.OnStateChanged(true);
     byte[] data = DataCompressor.CompressData(testorData);
     SynchronizationContext context = SynchronizationContext.Current;
     _currentThread = new Thread(new ThreadStart(() =>
     {
         StaticServerProvider.TestEdit.SetTestSettings(data);
         if ((this.TopLevelControl as Form).IsHandleCreated)
         {
             context.Send(d =>
                 {
                     SystemStateManager.OnStateChanged(false);
                 }, null);
         }
     }));
     _currentThread.Start();
 }
Exemple #6
0
        private void toolStripButtonDeleteUser_Click(object sender, EventArgs e)
        {
            if (SystemStateManager.TestState())
            {
                return;
            }
            var selUser = testorCoreUserDataGridView.SelectedUser;

            if (MessageBox.Show(String.Format("Вы действительно хотите удалить пользователя \"{0} {1} {2}\"?",
                                              selUser.LastName, selUser.FirstName, selUser.SecondName), "Удаление пользователя", MessageBoxButtons.YesNo,
                                MessageBoxIcon.Question) != DialogResult.Yes)
            {
                return;
            }
            SystemStateManager.OnStateChanged(true);
            _currentThread = new Thread(new ThreadStart(() =>
            {
                try
                {
                    StaticServerProvider.UserManagement.RemoveUser(testorCoreUserDataGridView.SelectedUser.UserId);
                    if ((this.TopLevelControl as Form).IsHandleCreated)
                    {
                        this.Invoke((Action)(() =>
                        {
                            testorCoreUserDataGridView.Rows.Remove(testorCoreUserDataGridView.SelectedRows[0]);
                            SystemStateManager.OnStateChanged(false);
                        }));
                    }
                }
                catch (Exception ex)
                {
                    if ((this.TopLevelControl as Form).IsHandleCreated)
                    {
                        this.Invoke((Action)(() =>
                        {
                            SystemMessage.ShowErrorMessage(ex);
                            SystemStateManager.OnStateChanged(false);
                        }));
                    }
                }
            }));
            _currentThread.Start();
        }
        private void buttonOK_Click(object sender, EventArgs e)
        {
            SynchronizationContext context = SynchronizationContext.Current;

            _user.UserRole = (TestorUserRole)comboBoxRole.SelectedIndex + 1;
            _user.Status   = (TestorUserStatus)comboBoxStatus.SelectedIndex;
            if (textBoxPassword1.Text != _defaultPassword || textBoxPassword2.Text != _defaultPassword)
            {
                if (textBoxPassword1.Text != textBoxPassword2.Text)
                {
                    SystemMessage.ShowWarningMessage("Пароли не совпадают.");
                    return;
                }
                else
                {
                    _user.Password = textBoxPassword1.Text;
                }
            }
            _user.UserGroups = _userGroups.ToArray();
            SystemStateManager.OnStateChanged(true);
            _currentThread = new Thread(new ThreadStart(() =>
            {
                try
                {
                    _user = StaticServerProvider.UserManagement.AlterUser(_user, true);
                    context.Send(d =>
                    {
                        SystemStateManager.OnStateChanged(false);
                        this.DialogResult = DialogResult.OK;
                    }, null);
                }
                catch (Exception ex)
                {
                    context.Send(d =>
                    {
                        SystemMessage.ShowErrorMessage(d as Exception);
                        SystemStateManager.OnStateChanged(false);
                    }, ex);
                }
            }));
            _currentThread.Start();
        }
Exemple #8
0
        public AddUserForm(TestorCoreUser user)
            : this()
        {
            _isAlterMode                 = true;
            _resultUser                  = user;
            textBoxLastName.Text         = _resultUser.LastName;
            textBoxFirstName.Text        = _resultUser.FirstName;
            textBoxSecondName.Text       = _resultUser.SecondName;
            radioButtonMale.Checked      = _resultUser.Sex;
            radioButtonFemale.Checked    = !_resultUser.Sex;
            dateTimePickerBirthday.Value = _resultUser.Birthday >= dateTimePickerBirthday.MinDate ? _resultUser.Birthday : dateTimePickerBirthday.MinDate;
            textBoxStudNumber.Text       = _resultUser.StudNumber;
            SynchronizationContext context = SynchronizationContext.Current;

            SystemStateManager.OnStateChanged(true);
            _currentThread = new Thread(new ThreadStart(() =>
            {
                try
                {
                    _groups = StaticServerProvider.UserManagement.GetUserGroups(_resultUser.UserId);
                    context.Send(d =>
                    {
                        if (_groups.Length > 0)
                        {
                            _selectedGroup    = (d as TestorTreeItem[])[0];
                            textBoxGroup.Text = _selectedGroup.ItemName;
                        }
                        SystemStateManager.OnStateChanged(false);
                    }, _groups);
                }
                catch (Exception ex)
                {
                    context.Send(d =>
                    {
                        SystemMessage.ShowErrorMessage(d as Exception);
                        SystemStateManager.OnStateChanged(false);
                    }, ex);
                }
            }));
            _currentThread.Start();
            buttonSelectGroup.Enabled = !_isAlterMode;
        }
        public UserAdditionalSettingsForm(TestorCoreUser user)
        {
            InitializeComponent();
            _user = new TestorCoreUser(user);
            SetAccessMode();
            _userGroups = new List <TestorTreeItem>();
            dataGridViewGroups.AutoGenerateColumns = false;
            comboBoxRole.SelectedIndex             = (int)_user.UserRole - 1;
            comboBoxStatus.SelectedIndex           = (int)_user.Status;
            textBoxUserName.DataBindings.Add("Text", _user, "Login", false);
            textBoxEmail.DataBindings.Add("Text", _user, "Email", false);
            textBoxPassword1.Text = _defaultPassword;
            textBoxPassword2.Text = _defaultPassword;
            SystemStateManager.OnStateChanged(true);
            SynchronizationContext context = SynchronizationContext.Current;

            _currentThread = new Thread(new ThreadStart(() =>
            {
                try
                {
                    _userGroups.AddRange(StaticServerProvider.UserManagement.GetUserGroups(_user.UserId));
                    context.Send(d =>
                    {
                        _bindingSource.DataSource     = _userGroups;
                        dataGridViewGroups.DataSource = _bindingSource;
                        SystemStateManager.OnStateChanged(false);
                    }, null);
                }
                catch (Exception ex)
                {
                    context.Send(d =>
                    {
                        SystemMessage.ShowErrorMessage(d as Exception);
                        SystemStateManager.OnStateChanged(false);
                    }, ex);
                }
            }));
            _currentThread.Start();
            SystemStateManager.StateChanged += new EventHandler <EventArgs>(SystemStateManager_StateChanged);
        }
Exemple #10
0
        public void AddGroups(int parentId, TestorTreeItem[] groups)
        {
            TreeNode selectedNode = this.SelectedNode;

            SystemStateManager.OnStateChanged(true);
            SynchronizationContext context = SynchronizationContext.Current;

            _currentThread = new Thread(new ThreadStart(() =>
            {
                TestorTreeItem[] retValue = StaticServerProvider.TestEdit.AddGroups(parentId, groups);
                context.Send(d =>
                {
                    AddTreeNodes(retValue, this.SelectedNode, false);
                    if (selectedNode != null)
                    {
                        selectedNode.Expand();
                    }
                    SystemStateManager.OnStateChanged(false);
                }, null);
            }));
            _currentThread.Start();
        }
Exemple #11
0
 public void GetUsers(TestorUserRole selectedRole, TestorUserStatus status, bool getRemoved)
 {
     if (SystemStateManager.TestState())
     {
         return;
     }
     this.CurrentBindingSource.DataSource = null;
     SystemStateManager.OnStateChanged(true);
     _currentThread = new Thread(new ThreadStart(() =>
     {
         try
         {
             _users.Clear();
             _users.InsertRange(0, DataCompressor.DecompressData <TestorCoreUser[]>(StaticServerProvider.UserManagement.FindUsers(
                                                                                        String.Empty, selectedRole, status, getRemoved,
                                                                                        this.SelectedGroup.ItemId, 0)));
             if ((this.TopLevelControl as Form).IsHandleCreated)
             {
                 this.Invoke((Action)(() =>
                 {
                     OnUsersGetted();
                     SystemStateManager.OnStateChanged(false);
                 }));
             }
         }
         catch (Exception ex)
         {
             if ((this.TopLevelControl as Form).IsHandleCreated)
             {
                 this.Invoke((Action)(() =>
                 {
                     SystemMessage.ShowErrorMessage(ex);
                     SystemStateManager.OnStateChanged(false);
                 }));
             }
         }
     }));
     _currentThread.Start();
 }