Exemple #1
0
 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 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();
            }
        }
Exemple #3
0
 private void toolStripTextBoxSearch_Enter(object sender, EventArgs e)
 {
     if (SystemStateManager.TestState())
     {
         return;
     }
 }
Exemple #4
0
        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);
        }
Exemple #5
0
 private void renameToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (SystemStateManager.TestState())
     {
         return;
     }
     treeView.RenameItem();
 }
Exemple #6
0
 private void tsbDelete_Click(object sender, EventArgs e)
 {
     if (SystemStateManager.TestState())
     {
         return;
     }
     treeView.RemoveItem();
 }
Exemple #7
0
 private void toolStripButtonRename_Click(object sender, EventArgs e)
 {
     if (SystemStateManager.TestState())
     {
         return;
     }
     treeView.RenameItem();
 }
Exemple #8
0
 private void tsbAddFolder_Click(object sender, EventArgs e)
 {
     if (SystemStateManager.TestState())
     {
         return;
     }
     treeView.AddFolder();
 }
Exemple #9
0
        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);
        }
Exemple #10
0
        private void toolStripButtonChange_Click(object sender, EventArgs e)
        {
            if (SystemStateManager.TestState())
            {
                return;
            }
            AddUserForm addUser = new AddUserForm(testorCoreUserDataGridView.SelectedUser);

            addUser.ShowDialog();
            testorCoreUserDataGridView.CurrentBindingSource.CurrencyManager.Refresh();
        }
Exemple #11
0
        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();
                }
            }
        }
Exemple #12
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();
        }
Exemple #13
0
 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();
     }
 }
Exemple #14
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();
 }
Exemple #15
0
 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();
         }
     }
 }
Exemple #16
0
        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());
        }
Exemple #17
0
        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);
                }
            }
        }