public AnonymousTestSettingsForm() { InitializeComponent(); string policy = StaticServerProvider.HelperService.GetPropertyValue(SystemProperties.ANONYMOUS_POLICY); if (policy == "-1") { radioButtonNone.Checked = true; } else if (policy == "0") { radioButtonAll.Checked = true; } else { radioButtonFolder.Checked = true; var folders = StaticServerProvider.TestEdit.GetTestParents(int.Parse(policy)); if (folders.Length == 0) { radioButtonNone.Checked = true; } else { _selectedFolder = folders[0]; while (_selectedFolder.SubItems != null && _selectedFolder.SubItems.Length != 0) { _selectedFolder = _selectedFolder.SubItems[0]; } textBoxFolder.Text = _selectedFolder.ItemName; } } }
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 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(); } }
private void linkLabelGroup_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { SelectSingleItemForm selectGroup = new SelectSingleItemForm(TestingServerItemType.GroupTree); if (selectGroup.ShowDialog() == DialogResult.Cancel) { _selectedGroup = new TestorTreeItem(0, 0, String.Empty, TestorItemType.Group, null); } _selectedGroup = selectGroup.SelectedItem; if (_selectedGroup == null || _selectedGroup.ItemId == 0) { linkLabelGroup.Text = "не выбрана"; } else { if (_selectedGroup.ItemName.Length <= 21) { linkLabelGroup.Text = _selectedGroup.ItemName; } else { linkLabelGroup.Text = _selectedGroup.ItemName.Substring(0, 21) + "..."; } } GetStatistics(); }
//Не является операцией сервиса private TestorTreeItem[] GetGroupTreeItems(ref int i, GetUserGroupTreeResult[] results) { List <TestorTreeItem> retValue = new List <TestorTreeItem>(); int sl = 0; string slStr = String.Empty; if (i != -1) { GetUserGroupTreeResult currentItem = results[i]; slStr = currentItem.GroupNode; sl = slStr.Split('/').Length; } for (i++; i < results.Length; i++) { GetUserGroupTreeResult value = results[i]; if (value.GroupNode.Split('/').Length <= sl || !value.GroupNode.StartsWith(slStr)) { i--; break; } TestorTreeItem item = new TestorTreeItem(value.GroupId, null, value.GroupName, TestorItemType.Group, GetGroupTreeItems(ref i, results)); item.GroupCode = value.GroupCode; retValue.Add(item); } return(retValue.ToArray()); }
private void linkLabelTest_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { SelectSingleItemForm selectTest = new SelectSingleItemForm(_resultUser, TestingServerItemType.TestTree); selectTest.ShowDialog(); _selectedTest = selectTest.SelectedItem; if (_selectedTest != null && (_selectedTest.ItemType != TestorItemType.Test && _selectedTest.ItemType != TestorItemType.MasterTest)) { MessageBox.Show("Для начала тестирования необходимо выбрать тест.", "Выбор теста", MessageBoxButtons.OK, MessageBoxIcon.Warning); _selectedTest = null; } if (_selectedTest == null || _selectedTest.TestId == 0) { linkLabelTest.Text = "не выбран"; } else { if (_selectedTest.ItemName.Length <= 21) { linkLabelTest.Text = _selectedTest.ItemName; } else { linkLabelTest.Text = _selectedTest.ItemName.Substring(0, 21) + "..."; } } GetStatistics(); }
private void tsbTestContent_Click(object sender, EventArgs e) { TestorTreeItem item = treeView.SelectedItem; MasterTestContentForm masterForm = new MasterTestContentForm(true, item.TestId.HasValue ? item.TestId.Value : -1); masterForm.ShowDialog(); }
protected void TreeViewTests_SelectedNodeChanged(object sender, EventArgs e) { if (TreeViewTests.SelectedNode.Parent != null) { TestorTreeItem tti = new TestorTreeItem(); tti.ItemId = int.Parse(TreeViewTests.SelectedNode.Value); ViewState["SelectedFolder"] = tti; lbSelectedFolder.Text = TreeViewTests.SelectedNode.Text; } }
void groupTreeView_ItemSelected(object sender, TestorItemSelectedEventArgs e) { if (e.Item.ItemId <= 0) { _selectedItem = null; } else { _selectedItem = e.Item; } }
void testTreeView_ItemSelected(object sender, TestorItemSelectedEventArgs e) { if (e.Item.ItemType != TestorItemType.MasterTest && e.Item.ItemType != TestorItemType.Test && e.Item.ItemType != TestorItemType.Group) { buttonAdd.Enabled = false; labelTestName.Text = "не выбран"; return; } _selectedItem = e.Item; buttonAdd.Enabled = true; labelTestName.Text = e.Item.ItemName; }
private TestorTreeItem[] ProcessItems(TreeNode rootNode) { List <TestorTreeItem> retValue = new List <TestorTreeItem>(); foreach (TreeNode tn in rootNode.Nodes) { TestorTreeItem item = new TestorTreeItem(); item.ItemName = tn.Text; item.ItemType = TestorItemType.Group; item.SubItems = ProcessItems(tn); retValue.Add(item); } return(retValue.ToArray()); }
public TestorTreeItem[] GetAppointedTests() { List <TestorTreeItem> retValue = new List <TestorTreeItem>(); using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { var tests = dataContext.GetAppointedTests(Provider.CurrentUser.UserId); foreach (var test in tests.Where(c => c.PassedCount == 0)) { TestorTreeItem newItem = new TestorTreeItem(test.NodeId, 0, test.TestName, TestorItemType.Test, new TestorTreeItem[] { }); retValue.Add(newItem); } } return(retValue.ToArray()); }
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); }
private void buttonSelectFolder_Click(object sender, EventArgs e) { SelectSingleItemForm selectGroup = new SelectSingleItemForm(TestingServerItemType.FolderTree); if (selectGroup.ShowDialog() != DialogResult.OK) { return; } _selectedFolder = selectGroup.SelectedItem; if (_selectedFolder != null) { textBoxFolder.Text = _selectedFolder.ItemName; } else { textBoxFolder.Text = String.Empty; } }
public RemoteTestingProvider(IServerProvider webServerProvider, TestorTreeItem selectedTest, TestorData testorData, StartTestParams startParams, bool useCompression) { _webServerProvider = webServerProvider; _selectedTest = selectedTest; _testorData = testorData; _coreTest = CoreTestRowAdapter.GetAdapter(_testorData.CoreTests[0]); _useCompression = useCompression; _startParams = startParams; if (_startParams != null) { InitStartParams(); _ansIds.AddRange(_startParams.AnsIds); _score = _startParams.CurrentScore; } else { State = ProviderState.PreTesting; } }
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 List <TestorTreeItem> GetItems(bool isChecked) { List <TestorTreeItem> retValue = new List <TestorTreeItem>(); IEnumerable collection = null; if (isChecked) { collection = clbAddSettings.CheckedItems; } else { collection = clbAddSettings.Items; } foreach (var item in collection) { TestorTreeItem treeItem = (TestorTreeItem)item; retValue.Add(treeItem); } return(retValue); }
private void InitAnonymouseView() { TreeViewTests.Nodes.Clear(); TreeNode rootNode = new TreeNode("Все тесты", "tests", "~/Images/computer.png"); TreeViewTests.Nodes.Add(rootNode); var items = LocalUser.TestEdit.GetServerTree(0, 0, TestingServerItemType.FolderTree); AddTreeNodes(items, rootNode); rootNode.Expand(); string policy = LocalUser.HelperService.GetPropertyValue(SystemProperties.ANONYMOUS_POLICY); if (policy == "-1") { radioButtonNone.Checked = true; } else if (policy == "0") { radioButtonAll.Checked = true; } else { radioButtonFolder.Checked = true; var folders = LocalUser.TestEdit.GetTestParents(int.Parse(policy)); if (folders.Length == 0) { radioButtonNone.Checked = true; } else { TestorTreeItem selectedFolder = folders[0]; while (selectedFolder.SubItems != null && selectedFolder.SubItems.Length != 0) { selectedFolder = selectedFolder.SubItems[0]; } lbSelectedFolder.Text = selectedFolder.ItemName; ViewState["SelectedFolder"] = selectedFolder; } } }
//Не является операцией сервиса private TestorTreeItem[] GetTestTreeItems(ref int i, GetTestTreeByLevelResult[] results, bool isActive) { List <TestorTreeItem> retValue = new List <TestorTreeItem>(); int sl = 0; if (i != -1) { GetTestTreeByLevelResult currentItem = results[i]; sl = currentItem.TreeNode.Split('/').Length; } for (i++; i < results.Length; i++) { GetTestTreeByLevelResult value = results[i]; if (value.TreeNode.Split('/').Length <= sl) { i--; break; } TestorItemType type = (TestorItemType)value.NodeType; if (type == TestorItemType.Folder) { TestorTreeItem item = new TestorTreeItem(value.NodeId, value.TestId.Value, value.TestName, type, GetTestTreeItems(ref i, results, isActive)); item.ItemOwner = value.ItemOwner; item.IsActive = value.TestTreeIsActive; if (!isActive || value.TestTreeIsActive == true) { retValue.Add(item); } } else if (type == TestorItemType.Test || type == TestorItemType.MasterTest) { TestorTreeItem item = new TestorTreeItem(value.NodeId, value.TestId.Value, value.TestName, type, GetTestTreeItems(ref i, results, isActive)); item.ItemOwner = value.ItemOwner; item.IsActive = value.TestTreeIsActive; retValue.Add(item); } } return(retValue.ToArray()); }
public void ProcessControlsEnableProp() { bool isNonAccess = false; TestorTreeItem item = treeView.SelectedItem; if (StaticServerProvider.CurrentUser.UserRole != TestorUserRole.Administrator && StaticServerProvider.CurrentUser.UserId != item.ItemOwner) { isNonAccess = true; } bool isRootNode = item.ItemId == 0 || isNonAccess; tssShowFolder.Visible = item.ItemType == TestorItemType.Folder && !isRootNode; tsbIsActive.Visible = tssShowFolder.Visible; if (item.ItemType == TestorItemType.Folder && item.ItemId != 0) { tsbIsActive.Checked = item.IsActive; } tsbDelete.Enabled = !isRootNode; bool showFolderName = item.ItemType == TestorItemType.Folder; tlsFolder.Visible = showFolderName; toolStripSeparator3.Visible = showFolderName; tscbFolder.Visible = showFolderName; tsbAddFolder.Enabled = showFolderName; masterTestToolStripMenuItem.Enabled = showFolderName; tsbSend.Enabled = showFolderName; if (item.ItemType == TestorItemType.Folder) { tscbFolder.Text = GetFolderName(treeView.SelectedNode); tscbFolder.SelectionStart = tscbFolder.Text.Length - 1; } else { tscbFolder.Text = String.Empty; } renameToolStripMenuItem.Enabled = !isNonAccess; deleteToolStripMenuItem.Enabled = !isNonAccess; }
public TestorTreeItem CreateFolder(int parentId, string folderName) { Debug.Assert(parentId >= 0); Debug.Assert(!String.IsNullOrEmpty(folderName)); Provider.TestRoles(TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian); using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { TestorData td = new TestorData(); TestorData.CoreTestsRow testRow = HtmlStore.CreateCoreTest(td, folderName); CoreTest coreTest = new CoreTest(); CreateCoreTest(testRow, coreTest); dataContext.CoreTests.InsertOnSubmit(coreTest); dataContext.SubmitChanges(); int result = dataContext.AddTestTreeItem(GetId(parentId), (int)TestorItemType.Folder, coreTest.TestId, Provider.CurrentUser.UserId); TestorTreeItem retValue = new TestorTreeItem( result, coreTest.TestId, folderName, TestorItemType.Folder, new TestorTreeItem[] { }); retValue.ItemOwner = Provider.CurrentUser.UserId; return(retValue); } }
void _serviceProvider_ItemSelected(object sender, TestorItemSelectedEventArgs e) { ProcessControlsEnableProp(); if (_adapter != null) { if (_adapter.HasChanges) { _preNode.Text = _adapter.TestName; treeView.SetTestSettings(_adapter.TestorData); } tvGroups.SetTestGroups((_preNode.Tag as TestorTagItem).TreeItem.TestId.Value); } TestorTreeItem item = e.Item; if (StaticServerProvider.CurrentUser.UserRole != TestorUserRole.Administrator && StaticServerProvider.CurrentUser.UserId != item.ItemOwner) { testSettings.Enabled = false; tvGroups.Enabled = false; _adapter = null; return; } bool isTest = item.ItemType == TestorItemType.Test || item.ItemType == TestorItemType.MasterTest; testSettings.Enabled = isTest; tvGroups.Enabled = testSettings.Enabled; if (isTest) { int testId = item.TestId ?? 0; tvGroups.ProcessTestGroups(testId); TestorData settings = treeView.GetTestSettings(testId); _adapter = new TestSettingsAdapter(settings); testSettings.SetDataSet(_adapter); _preNode = e.TreeEventArgs.Node; } else if (item.ItemType == TestorItemType.Folder && item.ItemId != 0) { tsbIsActive.Checked = item.IsActive; } }
private void InitNavigator() { Panel pathPanel = (Panel)this.Master.FindControl("PanelPath"); TestorTreeItem[] parents = LocalUser.TestEdit.GetTestParents(_objectID); if (parents == null) { Response.Redirect("/"); return; } TestorTreeItem rootItem = new TestorTreeItem(0, 0, "Все тесты", TestorItemType.Folder, parents); TestorTreeItem currentItem = null; do { if (currentItem == null) { currentItem = rootItem; } else { currentItem = currentItem.SubItems[0]; } HyperLink hl = new HyperLink(); hl.Text = currentItem.ItemName; hl.NavigateUrl = "Default.aspx?objectId=" + currentItem.ItemId.ToString(); Label lb = new Label() { Text = "/" }; if (currentItem != rootItem) { pathPanel.Controls.Add(lb); } pathPanel.Controls.Add(hl); } while (currentItem.SubItems.Length > 0); _currentItem = currentItem; }
public void ProcessControlsEnableProp() { bool isNonAccess = false; TestorTreeItem item = treeView.SelectedItem; if (StaticServerProvider.CurrentUser.UserRole != TestorUserRole.Administrator && StaticServerProvider.CurrentUser.UserId != item.ItemOwner) { isNonAccess = true; } bool isRootNode = item.ItemId == 0 || isNonAccess; tssShowFolder.Visible = item.ItemType == TestorItemType.Folder && !isRootNode; tsbIsActive.Visible = tssShowFolder.Visible; tsbDelete.Enabled = !isRootNode; bool showFolderName = item.ItemType == TestorItemType.Folder; tsbAddFolder.Enabled = showFolderName; masterTestToolStripMenuItem.Enabled = showFolderName; tsbTestContent.Enabled = item.ItemType == TestorItemType.MasterTest && !isNonAccess; renameToolStripMenuItem.Enabled = !isNonAccess; deleteToolStripMenuItem.Enabled = !isNonAccess; }
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; } })); })); } }
protected void postButton_Click(object sender, EventArgs e) { var activeView = MultiViewMain.GetActiveView(); if (activeView == ViewLogin) { LocalUser.SetPropertyValue(SystemProperties.SESSION_ALLOW_INTRANET, CheckBoxAllowIntranet.Checked ? SystemProperties.SESSION_TRUE : SystemProperties.SESSION_FALSE); LocalUser.SetPropertyValue(SystemProperties.SESSION_ALLOW_PUBLIC, CheckBoxAllowPublic.Checked ? SystemProperties.SESSION_TRUE : SystemProperties.SESSION_FALSE); LocalUser.SetPropertyValue(SystemProperties.SMTP_FROM, TextBoxFrom.Text.Trim()); LocalUser.SetPropertyValue(SystemProperties.SMTP_SERVER, TextBoxSmtpServer.Text.Trim()); LocalUser.SetPropertyValue(SystemProperties.SMTP_LOGIN, TextBoxSmtpLogin.Text.Trim()); if (TextBoxSmtpPassword.Text.Trim() != String.Empty) { LocalUser.SetPropertyValue(SystemProperties.SMTP_PASSWORD, TextBoxSmtpPassword.Text); } if (LocalUser.GetPropertyValue(SystemProperties.SESSION_LOCAL_NETWORKS) != TextBoxLocalNetworks.Text.Trim()) { LocalUser.SetPropertyValue(SystemProperties.SESSION_LOCAL_NETWORKS, TextBoxLocalNetworks.Text.Trim()); } LocalUser.SetPropertyValue(SystemProperties.REGISTER_MAIL, TextBoxRegMailContext.Text.Trim()); LocalUser.SetPropertyValue(SystemProperties.RESTORE_MAIL, TextBoxRegRestore.Text.Trim()); } else if (activeView == ViewAnonym) { string value = String.Empty; if (radioButtonNone.Checked) { value = "-1"; } else if (radioButtonAll.Checked) { value = "0"; } else { TestorTreeItem selFolder = (ViewState["SelectedFolder"] as TestorTreeItem); if (selFolder == null) { value = "-1"; } else { value = selFolder.ItemId.ToString(); } } LocalUser.HelperService.SetPropertyValue(SystemProperties.ANONYMOUS_POLICY, value); } else if (activeView == ViewUserDetails) { if (TextBoxPassword.Text != String.Empty || TextBoxSecondPassword.Text != String.Empty) { if (TextBoxPassword.Text != TextBoxSecondPassword.Text) { aspErrorMessage.Text = "Пароли не совпадают"; aspErrorMessage.Visible = true; return; } else { using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { var user = dataContext.Users.Where(c => c.UserId == (int)GridViewUsers.SelectedValue).FirstOrDefault(); if (user == null || user.UserRole != (short)TestorUserRole.Student) { aspErrorMessage.Text = "Ошибка. Не выбран пользователь"; aspErrorMessage.Visible = true; return; } user.Password = TextBoxPassword.Text; dataContext.SubmitChanges(); } } } } changesIndicator.Text = String.Format(" Изменения сохранены [{0}]", DateTime.Now.ToShortTimeString()); changesIndicator.Visible = true; }
protected void Btn_Reg_Click(object sender, EventArgs e) { int groupId = 0; TextBoxPassword.Attributes["Value"] = TextBoxPassword.Text; TextBoxSecondPassword.Attributes["Value"] = TextBoxSecondPassword.Text; if (LocalUser.IsIntranet) { if (ViewState["SelectedNode"] != null) { int.TryParse((string)ViewState["SelectedNode"], out groupId); } if (groupId == 0 || ViewState["SelectedNode"] == null) { aspErrorMessage.Visible = true; aspErrorMessage.Text = "Выберите группу (Факультет -> Кафедра -> Группа)."; return; } } if (TextBoxCaptcha.Text.ToLower() != this.Session["CaptchaImageText"].ToString().ToLower()) { aspErrorMessage.Visible = true; aspErrorMessage.Text = "Введён неправильный секретный код"; TextBoxCaptcha.Text = String.Empty; this.Session["CaptchaImageText"] = GenerateRandomCode(); return; } else { TextBoxCaptcha.Text = String.Empty; this.Session["CaptchaImageText"] = GenerateRandomCode(); aspErrorMessage.Visible = false; } if (TextBoxLogin.Text.Trim().Contains(' ') || TextBoxPassword.Text.Contains(' ')) { aspErrorMessage.Visible = true; aspErrorMessage.Text = "Логин и пароль не могут содержать пробелы"; return; } if (TextBoxPassword.Text != TextBoxSecondPassword.Text) { aspErrorMessage.Visible = true; aspErrorMessage.Text = "Пароли не совпадают"; return; } using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { string eMail = TextBoxEmail.Text.Trim().ToLower(); if (!String.IsNullOrEmpty(eMail) && dataContext.Users.Where(c => c.Email == eMail).Count() > 0) { aspErrorMessage.Visible = true; aspErrorMessage.Text = "Данный e-mail уже используется"; return; } if (!LocalUser.IsIntranet) { if (TextBoxGroup.Text.Trim() != String.Empty) { groupId = dataContext.GetGroupIdByCode(TextBoxGroup.Text.Trim()); if (groupId == 0) { aspErrorMessage.Visible = true; aspErrorMessage.Text = "Неверный код группы"; return; } } } TestorTreeItem[] groups = new TestorTreeItem[] { }; if (groupId != 0) { TestorTreeItem group = new TestorTreeItem(groupId, 0, String.Empty, TestorItemType.Group, new TestorTreeItem[] { }); groups = new TestorTreeItem[] { group }; } string password = TextBoxPassword.Text.Trim(); if (String.IsNullOrEmpty(password)) { password = "******"; } TestorCoreUser user = new TestorCoreUser() { LastName = TextBoxLastName.Text.Trim(), FirstName = TextBoxName.Text.Trim(), SecondName = TextBoxSecondName.Text.Trim(), Password = password, Sex = DropDownListGender.SelectedIndex == 0 ? true : false, UserGroups = groups, UserRole = TestorUserRole.Student, Status = LocalUser.IsIntranet ? TestorUserStatus.LocalNetUser : TestorUserStatus.NotActivated, StudNumber = TextBoxStudNumber.Text.Trim() }; if (LocalUser.IsIntranet) { user.Login = Guid.NewGuid().ToString(); user.IsLocalUser = true; user.Email = String.Format("{0}@{1}.testor.ru", user.Login, Guid.NewGuid().ToString()); } else { user.Login = TextBoxLogin.Text.Trim(); user.Email = TextBoxEmail.Text.Trim().ToLower(); } try { TestorCoreUser coreUser = LocalUser.UserManagement.CreateUser(user); ActivationKey key = new ActivationKey(); key.ActivationKey1 = Guid.NewGuid().ToString(); key.UserId = coreUser.UserId; dataContext.ActivationKeys.InsertOnSubmit(key); if (LocalUser.IsIntranet) { dataContext.SubmitChanges(); FormsAuthentication.RedirectFromLoginPage(coreUser.Login, false); return; } else { dataContext.SubmitChanges(); SendActivationMail(coreUser.Email, key.ActivationKey1, coreUser.Login); } } catch (Exception ex) { aspErrorMessage.Visible = true; aspErrorMessage.Text = ex.Message; return; } MultiView1.ActiveViewIndex = 1; } }
public TestorTreeItem[] SendTests(byte[] testorData, int folderId, int[] groupIds) { Debug.Assert(testorData != null); Debug.Assert(folderId >= 0); Provider.TestRoles(TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian); using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { TestorData data = DataCompressor.DecompressData <TestorData>(testorData); //data.WriteXml("C:/locator.xml", System.Data.XmlWriteMode.IgnoreSchema); Dictionary <int, CoreTest> xTests = new Dictionary <int, CoreTest>(); foreach (TestorData.CoreTestsRow coreTest in data.CoreTests) { CoreTest test = new CoreTest(); test.TestKey = coreTest.TestKey; test.IsMasterTest = coreTest.IsMasterTest; CreateCoreTest(coreTest, test); xTests.Add(coreTest.TestId, test); dataContext.CoreTests.InsertOnSubmit(test); foreach (int groupId in groupIds) { TestGroup group = new TestGroup(); group.CoreTest = test; group.GroupId = groupId; dataContext.TestGroups.InsertOnSubmit(group); } foreach (var coreQuest in coreTest.GetCoreQuestionsRows()) { CoreQuestion quest = new CoreQuestion(); quest.CoreTest = test; quest.QuestionType = coreQuest.QuestionType; quest.Question = coreQuest.Question; quest.QuestionMark = coreQuest.QuestionMark; try { if (!Convert.IsDBNull(coreQuest.QuestionMetadata)) { quest.QuestionMetadata = coreQuest.QuestionMetadata; } } catch { quest.QuestionMetadata = null; } dataContext.CoreQuestions.InsertOnSubmit(quest); foreach (var coreAnswer in coreQuest.GetCoreAnswersRows()) { CoreAnswer answer = new CoreAnswer(); answer.CoreQuestion = quest; answer.Answer = coreAnswer.Answer; answer.IsTrue = coreAnswer.IsTrue; try { if (!Convert.IsDBNull(coreAnswer.AnswerMetadata)) { answer.AnswerMetadata = coreAnswer.AnswerMetadata; } } catch { answer.AnswerMetadata = null; } dataContext.CoreAnswers.InsertOnSubmit(answer); } foreach (var coreBlob in coreQuest.GetCoreBLOBsRows()) { CoreBLOB blob = new CoreBLOB(); blob.CoreQuestion = quest; blob.BLOBId = coreBlob.BLOBId; blob.BLOBContent = coreBlob.BLOBContent; dataContext.CoreBLOBs.InsertOnSubmit(blob); } } } foreach (var masterTest in data.CoreTests.Where(c => c.IsMasterTest == true)) { var parts = data.CoreMasterParts.Where(c => c.MasterTestId == masterTest.TestId); var test = xTests.Where(c => c.Value.TestKey == masterTest.TestKey).FirstOrDefault(); foreach (var part in parts) { CoreMasterPart masterPart = new CoreMasterPart(); masterPart.CoreTest1 = test.Value; masterPart.CoreTest = xTests.Where( c => c.Key == part.PartTestId).FirstOrDefault().Value; masterPart.QuestionsNumber = part.QuestionsNumber; dataContext.CoreMasterParts.InsertOnSubmit(masterPart); } } foreach (var coreReq in data.CoreRequirements) { CoreRequirement req = new CoreRequirement(); Guid testKey = data.CoreTests.Where(c => c.TestId == coreReq.TestId).FirstOrDefault().TestKey; Guid reqKey = data.CoreTests.Where(c => c.TestId == coreReq.Requirement).FirstOrDefault().TestKey; req.CoreTest = xTests.Where(c => c.Value.TestKey == testKey).FirstOrDefault().Value; req.CoreTest1 = xTests.Where(c => c.Value.TestKey == reqKey).FirstOrDefault().Value; dataContext.CoreRequirements.InsertOnSubmit(req); } try { dataContext.SubmitChanges(); } catch (Exception ex) { throw ex; } List <TestorTreeItem> retValue = new List <TestorTreeItem>(); foreach (var test in xTests) { CoreTest coreTest = test.Value; TestorItemType type = TestorItemType.Test; if (coreTest.IsMasterTest) { type = TestorItemType.MasterTest; } int result = dataContext.AddTestTreeItem(GetId(folderId), (byte)type, coreTest.TestId, Provider.CurrentUser.UserId); TestorTreeItem item = new TestorTreeItem(result, coreTest.TestId, coreTest.TestName, type, null); retValue.Add(item); } return(retValue.ToArray()); } }
public TestorTagItem(TestorTreeItem treeItem) { _treeItem = treeItem; }