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(); } }
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(); }
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); } }
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(); }
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(); }
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(); }
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); }
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(); }
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(); }