private void comboBoxUserType_SelectedIndexChanged(object sender, EventArgs e) { textBoxStudentName.Text = String.Empty; textBoxPassword.Text = String.Empty; SetFormEnableMode(true); _resultUser = null; }
private void buttonOK_Click(object sender, EventArgs e) { AddUserForm addUserForm = new AddUserForm(false); if (addUserForm.ShowDialog() != DialogResult.OK) { return; } _resultUser = addUserForm.ResultUser; LocalTestingProvider provider = null; TestHelper selectedTest = listBox.SelectedItem as TestHelper; if (selectedTest.IsMasterTest) { provider = new LocalTestingProvider(DataCreator.CreateFullTestorDataSet(_testHelpers), selectedTest); } else { provider = new LocalTestingProvider(selectedTest.TestorData, selectedTest); } provider.SetStudentName(String.Format("{0} {1} {2}", HtmlStore.GetString(_resultUser.LastName), HtmlStore.GetString(_resultUser.FirstName), HtmlStore.GetString(_resultUser.SecondName))); TestForm testForm = new TestForm(provider); testForm.ShowDialog(); }
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(); }
//Не является операцией сервиса internal void SetUserSettings(User testorUser, TestorCoreUser user, bool isUpdate, bool isAdminEdit, DataClassesTestorCoreDataContext dataContext) { testorUser.LastName = user.LastName; testorUser.FirstName = user.FirstName; testorUser.SecondName = user.SecondName; if (!isUpdate) { if (user.IsLocalUser && String.IsNullOrEmpty(user.Login)) { testorUser.Login = Guid.NewGuid().ToString(); } else { testorUser.Login = user.Login; } if (!String.IsNullOrEmpty(user.Password)) { testorUser.Password = user.Password; } else { testorUser.Password = "******"; } if (user.IsLocalUser) { testorUser.Status = (short)TestorUserStatus.LocalNetUser; } else { testorUser.Status = (short)TestorUserStatus.NotActivated; } testorUser.UserRole = (short)TestorUserRole.Student; } else { testorUser.Status = (short)user.Status; if (isAdminEdit || Provider.CurrentUser.UserRole == TestorUserRole.Administrator) { testorUser.UserRole = (short)user.UserRole; } if (testorUser.Login != user.Login) { testorUser.Login = user.Login; } if (!String.IsNullOrEmpty(user.Password) && testorUser.Password != user.Password) { testorUser.Password = user.Password; } } if (!String.IsNullOrEmpty(user.NewPassword) && isUpdate) { testorUser.Password = user.NewPassword; } testorUser.Email = user.Email; testorUser.Sex = user.Sex; testorUser.Birthday = user.Birthday; testorUser.StudNumber = user.StudNumber; }
private void buttonAddUser_Click(object sender, EventArgs e) { AddUserForm addUserForm = new AddUserForm(); if (addUserForm.ShowDialog() != DialogResult.OK) { return; } _resultUser = addUserForm.ResultUser; this.DialogResult = DialogResult.OK; }
public TestorCoreUser CreateUser(TestorCoreUser user) { Provider.TestRoles(TestorUserRole.Anonymous, TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian); if (user.UserRole != TestorUserRole.Student && user.UserRole != TestorUserRole.NotDefined) { Provider.ThrowAccessFaultException(); } return(CreateSystemUser(user)); }
private void buttonSelectStudent_Click(object sender, EventArgs e) { ClientSelectUserForm selectUser = new ClientSelectUserForm(); if (selectUser.ShowDialog() != DialogResult.OK) { return; } _resultUser = selectUser.ResultUser; textBoxStudentName.Text = String.Format("{0} {1} {2}", HtmlStore.GetString(_resultUser.LastName), HtmlStore.GetString(_resultUser.FirstName), HtmlStore.GetString(_resultUser.SecondName)); }
private void buttonOK_Click(object sender, EventArgs e) { _resultUser = testorCoreUserDataGridView.SelectedUser; if (_resultUser != null) { this.DialogResult = DialogResult.OK; } else { this.DialogResult = DialogResult.Cancel; } }
//Не является операцией сервиса public TestorCoreUser CreateSystemUser(TestorCoreUser user) { using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { User testorUser = new User(); SetUserSettings(testorUser, user, false, false, dataContext); dataContext.Users.InsertOnSubmit(testorUser); SetUserGroups(testorUser, user.UserGroups, dataContext); dataContext.SubmitChanges(); return(UserSearchHelper.GetUsers(dataContext.Users.Where(c => c == testorUser), true)[0]); } }
private void linkLabelSelectStudent_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { ClientSelectUserForm selectUser = new ClientSelectUserForm(); if (selectUser.ShowDialog() != DialogResult.OK) { _resultUser = null; textBoxStudent.Text = String.Empty; } else { _resultUser = selectUser.ResultUser; textBoxStudent.Text = String.Format("{0} {1} {2}", HtmlStore.GetString(_resultUser.LastName), HtmlStore.GetString(_resultUser.FirstName), HtmlStore.GetString(_resultUser.SecondName)); } GetStatistics(); }
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(); }
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); }
protected void Page_Load(object sender, EventArgs e) { if (!Context.User.Identity.IsAuthenticated) { Response.Redirect("~/Default.aspx"); } if (!IsPostBack) { InitAppointedTests(); } var currentUser = LocalUser.SecurityProvider.CurrentUser; 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; } TestorCoreUser user = LocalUser.SecurityProvider.CurrentUser; if (LocalUser.IsIntranet) { user.Email = "скрыт"; } user.UserGroups = LocalUser.UserManagement.GetUserGroups(user.UserId); userForm.DataSource = new TestorCoreUser[] { user }; userForm.DataBind(); List <TestSessionStatistics> statistics = new List <TestSessionStatistics>(); statistics.AddRange(LocalUser.TestClient.GetStatistics(new DateTime(1900, 1, 1), DateTime.MaxValue, 0, 0, LocalUser.SecurityProvider.CurrentUser.UserId)); GridViewSessions.DataSource = statistics; GridViewSessions.DataBind(); }
public TestorCoreUser AlterUser(TestorCoreUser user, bool alterGroups) { Debug.Assert(user.UserId > 0); Provider.TestRoles(TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian); using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString)) { if (user.UserId <= 0) { return(null); } var testorUser = dataContext.Users.Where(c => c.UserId == user.UserId).FirstOrDefault(); if (testorUser != null) { TestorUserRole alterRole = (TestorUserRole)testorUser.UserRole; if (user.UserId != Provider.CurrentUser.UserId) { if (Provider.CurrentUser.UserRole != TestorUserRole.Administrator && !(alterRole == TestorUserRole.Student || alterRole == TestorUserRole.Anonymous || alterRole == TestorUserRole.NotDefined)) { Provider.ThrowAccessFaultException(); return(null); } } if (alterRole != user.UserRole && Provider.CurrentUser.UserRole != TestorUserRole.Administrator) { user.UserRole = alterRole; } SetUserSettings(testorUser, user, true, false, dataContext); if (Provider.CurrentUser.UserRole == TestorUserRole.Administrator && alterGroups) { SetUserGroups(testorUser, user.UserGroups, dataContext); } dataContext.SubmitChanges(); } return(UserSearchHelper.GetUser(testorUser)); } }
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()); }
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 SelectSingleItemForm(TestorCoreUser user, TestingServerItemType itemType) : this(itemType) { _resultUser = user; }
private void buttonOK_Click(object sender, EventArgs e) { _lastName = textBoxLastName.Text.Trim(); _firstName = textBoxFirstName.Text.Trim(); _secondName = textBoxSecondName.Text.Trim(); _birthday = dateTimePickerBirthday.Value; _studNumber = textBoxStudNumber.Text.Trim(); _password = textBoxPassword1.Text; _password2 = textBoxPassword2.Text; _gender = radioButtonMale.Checked; if (_password != String.Empty || _password2 != String.Empty) { if (_password != _password2) { SystemMessage.ShowWarningMessage("Пароли не совпадают."); textBoxPassword1.Text = String.Empty; textBoxPassword2.Text = String.Empty; return; } } else if (!_isAlterMode) { _password = "******"; } labelStarLastName.Visible = String.IsNullOrEmpty(_lastName); labelStarFirstName.Visible = String.IsNullOrEmpty(_firstName); if (_isOnlineMode && !_isAlterMode) { labelStarGroup.Visible = _selectedGroup == null; } labelNumber.Visible = String.IsNullOrEmpty(_studNumber); if (labelStarLastName.Visible || labelStarFirstName.Visible || labelStarGroup.Visible || labelNumber.Visible) { SystemMessage.ShowWarningMessage("Для добавления пользователя заполните обязательные поля."); } else { if (_isOnlineMode) { AddUser(); } else { _resultUser = new TestorCoreUser() { FirstName = _firstName, LastName = _lastName, SecondName = _secondName, Sex = _gender, Status = TestorUserStatus.LocalNetUser, StudNumber = _studNumber, UserRole = TestorUserRole.Student, Password = _password }; this.DialogResult = DialogResult.OK; } } }
public void AddUser(TestorCoreUser user) { _users.Add(user); }