void TestingForm_LoadComplete(object sender, EventArgs e) { RemoteTestingProvider provider = (RemoteTestingProvider)Session[SESSIONPROVIDER]; if (!String.IsNullOrEmpty(provider.WarningMessageContent)) { warningMessage.Text = provider.WarningMessageContent; warningMessage.Visible = true; } securityAlert.Visible = provider.ShowSecurityAlert; secondComputerAddress.Text = provider.SecondComputerAddress; }
protected void Page_Load(object sender, EventArgs e) { this.LoadComplete += new EventHandler(TestingForm_LoadComplete); warningMessage.Visible = false; RemoteTestingProvider provider = null; StartTestParams startParams = LocalUser.TestClient.GetNotCommitedSessions(0, false); if (Session[SESSIONPROVIDER] == null) { if (startParams == null) { Response.Redirect("~/Default.aspx"); } var testSettings = startParams.TestSettings; TestorData.CoreTestsRow coreTest = testSettings.CoreTests[0]; TestorTreeItem selectedTest = new TestorTreeItem(0, coreTest.TestId, coreTest.TestName, coreTest.IsMasterTest ? TestorItemType.MasterTest : TestorItemType.Test, null); provider = new RemoteTestingProvider(LocalUser.WebServerProvider, selectedTest, testSettings, startParams, false); provider.ProviderMode = ProviderMode.WebMode; Session[SESSIONPROVIDER] = provider; } else { provider = (RemoteTestingProvider)Session[SESSIONPROVIDER]; if (provider == null || provider.State == ProviderState.Results) { Session[SESSIONPROVIDER] = null; if (LocalUser.IsIntranet && provider.CurrentUser.UserRole == TestorUserRole.Student) { FormsAuthentication.SignOut(); } Response.Redirect("~/Default.aspx"); } provider.UnsubscribeWarningMessage(); } provider.CurrentUniqId = (string)Session["UniqId"]; if (startParams != null && startParams.AdditionalTime.HasValue) { provider.AdditionalTime = startParams.AdditionalTime.Value; } if (!IsPostBack) { string testName = String.Format("«{0}»", provider.TestName); (this.Master.FindControl("LabelTest") as Label).Text = testName + " :: <i>" + provider.StudentDisplayName + "</i>"; this.Title = String.Format("Студент - \"{0}\"", provider.StudentDisplayName); } TestingHost.InitTestingProcess(provider, ClientScript); }
protected void postButton_Click(object sender, EventArgs e) { if (postButton.Attributes[BUTTON_VALUE] == NULL_VALUE || postButton.Attributes[BUTTON_MODE] == NTMODE_VALUE) { return; } if (postButton.Attributes[BUTTON_MODE] != TESTING_VALUE) { return; } RemoteTestingProvider provider = new RemoteTestingProvider(LocalUser.WebServerProvider, _currentItem, _currentTest, null, false); provider.StartTest(); Session["UniqId"] = provider.UniqId; Response.Redirect("~/Testing.aspx"); }
protected void Page_Load(object sender, EventArgs e) { if (LocalUser.IsIntranet && !Context.User.Identity.IsAuthenticated) { Response.Redirect("~/Login.aspx"); } StartTestParams ncs = LocalUser.TestClient.GetNotCommitedSessions(0, false); if (ncs != null) { Server.Transfer("~/Testing.aspx"); } MultiViewMain.ActiveViewIndex = 0; LabelTestname.Visible = false; requirementsPanel.Visible = false; if (Context.User.Identity.IsAuthenticated) { var currentUser = LocalUser.SecurityProvider.CurrentUser; if (currentUser == null) { FormsAuthentication.SignOut(); Response.Redirect("~/Login.aspx"); } string userName = String.Format(":: {0} {1} {2}", HtmlStore.GetString(currentUser.LastName), HtmlStore.GetString(currentUser.FirstName), HtmlStore.GetString(currentUser.SecondName)); Label lbl = (this.Master.FindControl("userName") as Label); if (String.IsNullOrEmpty(userName.Trim())) { lbl.Text = currentUser.Login; } else { lbl.Text = userName; } } if (InitPageMode()) { InitTree(); } else { InitTestList(); InitNavigator(); if (_currentItem.ItemType == TestorItemType.Test || _currentItem.ItemType == TestorItemType.MasterTest) { MultiViewMain.ActiveViewIndex = 2; postButton.Text = "Приступить к тестированию"; _currentTest = DataCompressor.DecompressData <TestorData>( LocalUser.TestEdit.GetTestSettings(_currentItem.TestId.Value)); testDetails.Text = HttpHandler.GetPreTestingHtml(_currentTest.CoreTests[0]); TestorData.CoreTestsRow test = _currentTest.CoreTests[0]; LabelTestname.Visible = true; RemoteTestingProvider _provider = new RemoteTestingProvider(LocalUser.WebServerProvider, _currentItem, _currentTest, null, false); if (!_provider.IsTestActive) { postButton.Enabled = false; LabelTestname.ForeColor = Color.Red; LabelTestname.Text = _provider.NotActiveMessage; if (_provider.RequirementsTests != null) { postButton.Enabled = false; LabelTestname.Text = "Перед прохлждением данного теста необходимо пройти предыдущие тесты"; LabelTestname.ForeColor = Color.Red; requirementsPanel.Visible = true; requirementsRepeater.DataSource = _provider.RequirementsTests; requirementsRepeater.DataBind(); } return; } if (LocalUser.SecurityProvider.CurrentUser.UserRole == TestorUserRole.Administrator || LocalUser.SecurityProvider.CurrentUser.UserRole == TestorUserRole.Teacher || LocalUser.SecurityProvider.CurrentUser.UserRole == TestorUserRole.Laboratorian) { LabelTestname.Text = String.Format("Тест: <a href=\"/Manage/Statistics.aspx?testId={0}\">{1}</a>", _currentItem.TestId, _currentItem.ItemName.Trim()); } else { LabelTestname.Text = String.Format("Тест: \"{0}\"", _currentItem.ItemName.Trim()); } if (postButton.Attributes[BUTTON_MODE] == NULL_VALUE) { postButton.Attributes[BUTTON_MODE] = NTMODE_VALUE; } else { postButton.Attributes[BUTTON_MODE] = TESTING_VALUE; } postButton.Attributes[BUTTON_VALUE] = _currentItem.ItemId.ToString(); } } }
private void buttonOK_Click(object sender, EventArgs e) { _password = textBoxPassword.Text; if (!IsTeacherMode) { if (_resultUser == null) { MessageBox.Show("Для начала тестирования необходимо выбрать пользователя.", "Выбор пользователя", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } SetChildEnable(false); StaticServerProvider.Logout(); LoginProvider loginProvider = LoginProvider.Login(_resultUser.Login, textBoxPassword.Text, LoginHelper.Server, LoginHelper.SEND_TIMEOUT, null, new LoginProvider.LoginResultDelegate((hasPassword, errorMessage) => { this.Invoke((Action)(() => { if (hasPassword) { if (String.IsNullOrEmpty(LoginHelper.Server)) { string[] databases = StaticServerProvider.TestClient.GetDatabaseNamesList(); if (databases.Length > 0) { string dbPassword = StaticServerProvider.TestClient.GetDatabasePassword(databases[0]); using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(String.Format( "Data Source=(local);Initial Catalog={0};User ID=testingUser;Password={1}", databases[0], dbPassword))) { System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("EXEC InitDbSettings;", conn); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); Console.WriteLine(cmd.ExecuteScalar()); } } } StartTestParams ncs = StaticServerProvider.TestClient.GetNotCommitedSessions(_resultUser.UserId, false); TestorData testSettings = null; if (ncs == null) { SelectSingleItemForm selectTest = new SelectSingleItemForm(_resultUser, TestingServerItemType.ActiveTestTree); if (selectTest.ShowDialog() != DialogResult.OK) { textBoxPassword.Text = String.Empty; StaticServerProvider.Logout(); LoginHelper.AnonymousLogin(); SetChildEnable(true); return; } _selectedTest = selectTest.SelectedItem; if (_selectedTest == null || _selectedTest.ItemType != TestorItemType.Test && _selectedTest.ItemType != TestorItemType.MasterTest) { MessageBox.Show("Для начала тестирования необходимо выбрать тест.", "Выбор теста", MessageBoxButtons.OK, MessageBoxIcon.Warning); _selectedTest = null; StaticServerProvider.Logout(); LoginHelper.AnonymousLogin(); SetChildEnable(true); return; } testSettings = selectTest.TestSettings; } else { testSettings = ncs.TestSettings; TestorData.CoreTestsRow coreTest = testSettings.CoreTests[0]; _selectedTest = new TestorTreeItem(0, coreTest.TestId, coreTest.TestName, coreTest.IsMasterTest ? TestorItemType.MasterTest : TestorItemType.Test, null); } RemoteTestingProvider provider = new RemoteTestingProvider(null, _selectedTest, testSettings, ncs, true); TestForm testForm = new TestForm(provider); testForm.ShowDialog(); comboBoxUserType_SelectedIndexChanged(sender, e); StaticServerProvider.Logout(); LoginHelper.AnonymousLogin(); SetChildEnable(true); } else { SystemMessage.ShowServerErrorMessage(errorMessage); textBoxPassword.Text = String.Empty; StaticServerProvider.Logout(); LoginHelper.AnonymousLogin(); SetChildEnable(true); return; } })); })); } else { SetFormEnableMode(false); _userName = textBoxStudentName.Text; StaticServerProvider.Logout(); LoginProvider loginProvider = LoginProvider.Login(_userName, _password, LoginHelper.Server, LoginHelper.SEND_TIMEOUT, null, new LoginProvider.LoginResultDelegate((hasPassword, errorMessage) => { this.Invoke((Action)(() => { SetFormEnableMode(true); if (hasPassword) { StatisticsForm statistics = new StatisticsForm(false); statistics.MdiParent = this.MdiParent; statistics.Dock = DockStyle.Fill; statistics.ControlBox = false; statistics.Show(); comboBoxUserType.SelectedIndex = 0; textBoxStudentName.Focus(); SetChildEnable(true); } else { SystemMessage.ShowServerErrorMessage(errorMessage); StaticServerProvider.Logout(); LoginHelper.AnonymousLogin(); SetChildEnable(true); return; } })); })); } }