private void toolStripTextBoxSearch_Enter(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } }
private void toolStripButtonAdd_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } string groupName = treeView.Nodes[0].Text; if (treeView.SelectedNode != null) { groupName = treeView.SelectedNode.Text; } CreateTreeForm ctf = new CreateTreeForm("Группы:", String.Format("Добавить группы в '{0}'", groupName)); ctf.ShowDialog(); if (ctf.DialogResult != DialogResult.OK) { return; } int parentId = 0; if (treeView.SelectedNode != null) { parentId = (treeView.SelectedNode.Tag as TestorTagItem).TreeItem.ItemId; } treeView.AddGroups(parentId, ctf.TestorItems); }
public void SelectGroup() { TestorTreeItem group = SelectedGroup; if (SystemStateManager.TestState()) { return; } SelectSingleItemForm selectGroup = new SelectSingleItemForm(TestingServerItemType.GroupTree); if (selectGroup.ShowDialog() == DialogResult.Cancel) { SelectedGroup = new TestorTreeItem(0, 0, String.Empty, TestorItemType.Group, null); if (group.ItemId != SelectedGroup.ItemId) { OnSelectedGroupChanged(); } return; } this.SelectedGroup = selectGroup.SelectedItem; if (this.SelectedGroup == null) { this.CurrentBindingSource.DataSource = _users; this.SelectedGroup = new TestorTreeItem(0, 0, String.Empty, TestorItemType.Group, null); } if (group.ItemId != SelectedGroup.ItemId) { this.CurrentBindingSource.CurrencyManager.Refresh(); OnSelectedGroupChanged(); } }
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 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(); }
private void btnSubmit_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } TestingHttpServer.Hid = Guid.NewGuid().ToString(); if (webBrowser.Document.Forms.Count == 0) { return; } TestingHttpServer.AllowConnections = true; try { webBrowser.Document.Forms[0].Children["hid"].SetAttribute("value", TestingHttpServer.Hid); webBrowser.Document.Forms[0].InvokeMember("submit"); } catch { foreach (HtmlElement form in webBrowser.Document.Forms) { GetChildElems(form.Children, form); } } }
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); } }
private void renameToolStripMenuItem_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } treeView.RenameItem(); }
private void tsbDelete_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } treeView.RemoveItem(); }
private void tsbAddFolder_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } treeView.AddFolder(); }
private void toolStripButtonRename_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } treeView.RenameItem(); }
private void tsbSend_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } List <int> groupIds = new List <int>(); tvGroups.GetGroupIds(null, groupIds); treeView.SendTests(_testorData, groupIds); }
private void toolStripButtonChange_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } AddUserForm addUser = new AddUserForm(testorCoreUserDataGridView.SelectedUser); addUser.ShowDialog(); testorCoreUserDataGridView.CurrentBindingSource.CurrencyManager.Refresh(); }
private void toolStripButtonAddUser_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } AddUserForm addUser = new AddUserForm(); if (addUser.ShowDialog() == DialogResult.OK) { testorCoreUserDataGridView.AddUser(addUser.ResultUser); if (toolStripComboBoxRole.SelectedIndex == 0) { testorCoreUserBindingNavigator.BindingSource.CurrencyManager.Refresh(); } } }
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(); }
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; }
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(); }
private void btnExit_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } if (_provider.State == ProviderState.Testing) { if (MessageBox.Show("Вы действительно хотите завершить тестирование?", "Завершение тестирования", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } EndTest(); return; } if (this.Parent is Form) { (this.Parent as Form).Close(); } }
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 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(); }
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(); }
private void btnNext_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } TestingHttpServer.AllowConnections = true; if (_provider.State == ProviderState.PreTesting) { webBrowser.Navigate(TestingHttpServer.GetUrl("start")); } else if (_provider.State == ProviderState.Testing) { webBrowser.Navigate(TestingHttpServer.BaseUrl); } else if (_provider.State == ProviderState.Results) { if (this.Parent is Form) { (this.Parent as Form).Close(); } } }
private static StreamReader _sr; // Reads text back from CMD.exe private static IDocumentStore RamDocumentStore(bool injectData = true) { var documentStore = new DocumentStore { Url = "http://localhost:8080/" }; documentStore.Conventions.FindIdentityProperty = prop => prop.Name == "Id"; documentStore.Initialize(); if (injectData) { using (var documentSession = documentStore.OpenSession()) { // if we have no roles, system is not configured, so run system setup var roles = documentSession.Query <Role>().ToList(); if (roles.Count == 0) { var systemStateManager = new SystemStateManager(documentSession); var setupSystemDataCommandHander = new SetupSystemDataCommandHandler( documentStore, documentSession, systemStateManager ); setupSystemDataCommandHander.Handle(new SetupSystemDataCommand()); documentSession.SaveChanges(); } } } IndexCreation.CreateIndexes(typeof(All_Groups).Assembly, documentStore); return(documentStore); }
private void ToolStripMenuItemAdditional_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } var row = testorCoreUserDataGridView.SelectedRows[0]; TestorCoreUser selUser = testorCoreUserDataGridView.SelectedUser; TestorUserRole role = selUser.UserRole; TestorUserStatus status = selUser.Status; UserAdditionalSettingsForm settingsForm = new UserAdditionalSettingsForm(selUser); if (settingsForm.ShowDialog() != DialogResult.OK) { return; } if (settingsForm.User.UserRole != role || (settingsForm.User.Status == TestorUserStatus.Removed && status != TestorUserStatus.Removed) || (status == TestorUserStatus.Removed && settingsForm.User.Status != TestorUserStatus.Removed)) { testorCoreUserDataGridView.Rows.Remove(row); } selUser.SetSettings(settingsForm.User); toolStripTextBoxSearch_TextChanged(this, new EventArgs()); }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { if (SystemStateManager.TestState()) { return; } if (treeView.SelectedItem.ItemType != TestorItemType.Test) { SystemMessage.ShowErrorMessage("Выберите тест."); return; } if (saveFileDialog.ShowDialog() == DialogResult.OK) { HtmlStore[] store = DataCompressor.DecompressData <HtmlStore[]>(StaticServerProvider.TestEdit.GetTestHTML(treeView.SelectedItem.TestId.Value)); StringBuilder sb = new StringBuilder(); sb.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); sb.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/><title>Test</title></head><body>"); int i = 0; foreach (var str in store) { if (i != 0) { sb.Append("<br/>"); } i++; sb.Append(i.ToString() + ". "); sb.Append(str.Html); sb.Append("<br/>"); char cr = 'a'; foreach (var ans in str.SubItems) { sb.Append(cr.ToString() + ")"); if (ans.IsTrue) { sb.Append("!!!"); } sb.Append(ans.Html); sb.Append("<br/>"); cr++; } } sb.Append("</body></html>"); try { FileInfo fi = new FileInfo(saveFileDialog.FileName); DirectoryInfo di = Directory.CreateDirectory(Path.Combine(fi.Directory.FullName, fi.Name + "_files")); foreach (var str in store) { foreach (var image in str.Images) { using (BinaryWriter bw = new BinaryWriter(File.Open(Path.Combine(di.FullName, image.Key.ToString() + ".png"), FileMode.Create))) { bw.Write(image.Value, 0, image.Value.Length); } } } using (TextWriter tw = new StreamWriter(File.Open(saveFileDialog.FileName, FileMode.Create))) { tw.Write(sb.ToString().Replace("#$", di.Name + "/").Replace("#%", ".")); } } catch (Exception ex) { SystemMessage.ShowErrorMessage(ex.Message); } } }