private void BSave_Click(object sender, System.EventArgs e) { if (flag) { Group saveGroup = new Group { NumberGroup = TBGroup.Text }; using (var dbContext = new ElipContext()) { dbContext.Groups.Add(saveGroup); dbContext.SaveChanges(); } } else { group.NumberGroup = TBGroup.Text; using (var dbContext = new ElipContext()) { dbContext.Entry(group).State = EntityState.Modified; dbContext.SaveChanges(); } } Hide(); MessageBox.Show("Сохранено!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); adminForm.InitGroupTable(); }
private void BLogin_Click(object sender, EventArgs e) { using (ElipContext dbContext = new ElipContext()) { switch (dbContext.Database.Exists()) { case true: var user = dbContext.Users.Where(u => u.Login.Equals(TBLogin.Text) && u.Password.Equals(TBPassword.Text) && u.Role.Equals("Преподаватель")); if (user.Count() == 0) { MessageBox.Show("Неверный логин/пароль либо\r\nтакого пользователя не существует", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { new TeacherForm(user.First()).Show(); Hide(); } break; case false: MessageBox.Show("База данных не существует", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } }
private void BEdit_Click(object sender, System.EventArgs e) { using (var dbContext = new ElipContext()) { switch (TabControl.SelectedIndex) { case 0: var user = dbContext.Users.Find((int)DGVUserTable.SelectedCells[0].Value); new AddEditUserForm(this, user, false).Show(); break; case 1: var group = dbContext.Groups.Find((int)DGVGroupTable.SelectedCells[0].Value); new AddEditGroupForm(this, group, false).Show(); break; case 2: var data = dbContext.DataInGroups.Find((int)DGVDataTable.SelectedCells[0].Value); if (data.DataType.Equals(DataType.Lab.ToString())) { new AddEditDataForm(this, DataType.Lab, "Edit", data, this.user).Show(); } else { new AddEditDataForm(this, DataType.Test, "Edit", data, this.user).Show(); } break; } } }
public void InitUserTable() { using (var dbContext = new ElipContext()) { DGVUserTable.DataSource = null; var list = dbContext.Users.Select(u => new { u.Id, u.Login, u.Password, u.LastName, u.FirstName, u.MiddleName, u.Role, u.Group.NumberGroup }).ToList(); if (list.Count >= 0) { DGVUserTable.DataSource = list; DGVUserTable.Columns["Login"].HeaderText = "Логин"; DGVUserTable.Columns["Password"].HeaderText = "Пароль"; DGVUserTable.Columns["LastName"].HeaderText = "Фамилия"; DGVUserTable.Columns["FirstName"].HeaderText = "Имя"; DGVUserTable.Columns["MiddleName"].HeaderText = "Отчество"; DGVUserTable.Columns["Role"].HeaderText = "Роль"; DGVUserTable.Columns["NumberGroup"].HeaderText = "№ класса"; } } }
public void InitResultTable() { using (var dbContext = new ElipContext()) { DGVResults.DataSource = null; var list = dbContext.Results.Select(r => new { r.Id, r.DataInGroup.Text, r.DataInGroup.DataType, r.DateTimeResult, r.Mark, r.DataInGroup.Group.NumberGroup, r.Status, user = r.User.LastName + " " + r.User.FirstName + " " + r.User.MiddleName, author = r.DataInGroup.User.LastName + " " + r.DataInGroup.User.FirstName + " " + r.DataInGroup.User.MiddleName, }).ToList(); if (list.Count >= 0) { DGVResults.DataSource = list; DGVResults.Columns["Text"].HeaderText = "Название работы"; DGVResults.Columns["DataType"].HeaderText = "Тип работы"; DGVResults.Columns["DateTimeResult"].HeaderText = "Дата и время решения"; DGVResults.Columns["NumberGroup"].HeaderText = "№ класса"; DGVResults.Columns["Mark"].HeaderText = "Оценка"; DGVResults.Columns["Status"].HeaderText = "Статус проверки"; DGVResults.Columns["user"].HeaderText = "Исполнитель работы"; DGVResults.Columns["author"].HeaderText = "Автор работы"; } } }
private void BDelete_Click(object sender, System.EventArgs e) { var result = MessageBox.Show("Подтвердить удаление?", "Удаление", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation); if (result == DialogResult.OK) { using (var dbContext = new ElipContext()) { switch (TabControl.SelectedIndex) { case 0: foreach (DataGridViewRow row in DGVUserTable.SelectedRows) { var delUser = dbContext.Users.Find((int)row.Cells[0].Value); delUser.Results.Clear(); delUser.DataInGroups.Clear(); dbContext.Users.Remove(delUser); dbContext.SaveChanges(); } InitUserTable(); break; case 1: foreach (DataGridViewRow row in DGVGroupTable.SelectedRows) { var delGroup = dbContext.Groups.Find((int)row.Cells[0].Value); delGroup.Users.Clear(); delGroup.DataInGroups.Clear(); dbContext.Groups.Remove(delGroup); dbContext.SaveChanges(); } InitGroupTable(); break; case 2: foreach (DataGridViewRow row in DGVDataTable.SelectedRows) { var delData = dbContext.DataInGroups.Find((int)row.Cells[0].Value); dbContext.DataInGroups.Remove(delData); dbContext.SaveChanges(); } InitDataInGroupTable(); break; case 3: foreach (DataGridViewRow row in DGVResults.SelectedRows) { var delData = dbContext.Results.Find((int)row.Cells[0].Value); dbContext.Results.Remove(delData); dbContext.SaveChanges(); } break; } } } }
private void InitTVGroup() { using (var dbContext = new ElipContext()) { var groups = dbContext.Groups.ToList(); foreach (var item in groups) { TVGroup.Nodes.Add(item.Id.ToString(), "Id:" + item.Id + "| № " + item.NumberGroup); } } }
private void InitCBNGroup() { using (var dbContext = new ElipContext()) { var groupList = dbContext.Groups.ToList(); foreach (var item in groupList) { CBNGroup.Items.Add(item.NumberGroup); } } }
private void DGVResultData_CellClick(object sender, DataGridViewCellEventArgs e) { if (DGVResultData.SelectedCells[1].Value.Equals("Lab")) { using (var dbContext = new ElipContext()) { var resultData = dbContext.Results.Find(DGVResultData.SelectedCells[0].Value); var labName = DGVResultData.SelectedCells[2].Value.ToString(); new AddEditDataForm(this, "Check", resultData, labName).Show(); } } }
private void BAdd_Click(object sender, System.EventArgs e) { var key = (int)DGVMyData.SelectedCells[0].Value; using (var dbContext = new ElipContext()) { var data = dbContext.DataInGroups.Find(key); data.GroupId = groupId; dbContext.SaveChanges(); } Hide(); MessageBox.Show("Сохранено!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); teacherForm.RefreshDGVDataInGroup(); }
private void BSave_Click(object sender, System.EventArgs e) { if (flag) { User user = new User { Login = TBLogin.Text, Password = TBPassword.Text, LastName = TBLastName.Text, FirstName = TBFirstName.Text, MiddleName = TBMiddleName.Text, Role = CBRole.SelectedItem.ToString() }; if (!TBIdGroup.Text.Trim().Equals("")) { user.GroupId = int.Parse(TBIdGroup.Text); } using (var dbContext = new ElipContext()) { dbContext.Users.Add(user); dbContext.SaveChanges(); } } else { if (!TBIdGroup.Text.Trim().Equals("")) { user.GroupId = int.Parse(TBIdGroup.Text); } else { user.GroupId = null; } user.Login = TBLogin.Text; user.Password = TBPassword.Text; user.LastName = TBLastName.Text; user.FirstName = TBFirstName.Text; user.MiddleName = TBMiddleName.Text; user.Role = CBRole.SelectedItem.ToString(); using (var dbContext = new ElipContext()) { dbContext.Entry(user).State = EntityState.Modified; dbContext.SaveChanges(); } } Hide(); MessageBox.Show("Сохранено!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); adminForm.InitUserTable(); }
private void BSave_Click(object sender, EventArgs e) { using (var dbContext = new ElipContext()) { switch (method) { case "Add": if (dataType == DataType.Lab) { dataInGroup.DataType = DataType.Lab.ToString(); dataInGroup.Data = Util.Serializatoin(lab); } else { dataInGroup.DataType = DataType.Test.ToString(); dataInGroup.Data = Util.Serializatoin(test); } dbContext.DataInGroups.Add(dataInGroup); dataInGroup.Text = TBNameProject.Text; dataInGroup.UserId = teacherForm.User.Id; break; case "Edit": if (dataType == DataType.Lab) { dbContext.DataInGroups.Attach(dataInGroup); dataInGroup.Data = Util.Serializatoin(lab); } else { dbContext.DataInGroups.Attach(dataInGroup); dataInGroup.Data = Util.Serializatoin(test); } dataInGroup.Text = TBNameProject.Text; dataInGroup.UserId = teacherForm.User.Id; break; case "Check": var saveResult = dbContext.Results.Find(result.Id); saveResult.Mark = (int)NUDMark.Value; saveResult.Status = CBStatus.SelectedItem.ToString(); break; } dbContext.SaveChanges(); } Hide(); MessageBox.Show("Данные сохранены", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); teacherForm.InitDGVMyLabAndTest(); }
private void BDeleteDb_Click(object sender, EventArgs e) { using (var dbContext = new ElipContext()) { if (!dbContext.Database.Exists()) { MessageBox.Show("База данных не существует", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { dbContext.DeleteDataBase(); MessageBox.Show("База данных удалена", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void InitDGVMyData() { using (var dbContext = new ElipContext()) { var myDataList = dbContext.Users.Find(user.Id).DataInGroups; DGVMyData.DataSource = myDataList; DGVMyData.Columns["Text"].HeaderText = "Название работы"; DGVMyData.Columns["DataType"].HeaderText = "Тип работы"; DGVMyData.Columns["GroupId"].HeaderText = "Id Группы"; DGVMyData.Columns["Group"].Visible = false; DGVMyData.Columns["User"].Visible = false; DGVMyData.Columns["UserId"].Visible = false; DGVMyData.Columns["Data"].Visible = false; } }
private void InitDGVLabAndTest() { using (var dbContext = new ElipContext()) { var group = dbContext.Groups.Find(user.GroupId); var dataInGroup = group.DataInGroups; DGVLabAndTest.DataSource = dataInGroup; DGVLabAndTest.Columns["Text"].HeaderText = "Название работы"; DGVLabAndTest.Columns["DataType"].HeaderText = "Тип работы"; DGVLabAndTest.Columns["UserId"].Visible = false; DGVLabAndTest.Columns["Group"].Visible = false; DGVLabAndTest.Columns["GroupId"].Visible = false; DGVLabAndTest.Columns["User"].Visible = false; DGVLabAndTest.Columns["Data"].Visible = false; } }
private void BSave_Click(object sender, EventArgs e) { using (var dbContext = new ElipContext()) { var result = new Result { UserId = user.Id, DateTimeResult = DateTime.Now, DataInGroupId = dataInGroup.Id, GroupId = user.GroupId, }; switch (dataType) { case DataType.Lab: result.AnswerData = Util.Serializatoin(resultLab); result.Status = "Не проверено"; break; case DataType.Test: result.AnswerData = Util.Serializatoin(resultTest); result.Status = "Проверено"; var tempR = resultTest.AnswerList; var temp = test.AnswerList; int mark = 0; for (int i = 1; i <= temp.Count; i++) { temp.TryGetValue(i, out var tempAnswer); tempR.TryGetValue(i, out var tempRAnswer); if (tempAnswer[0].Flag == tempRAnswer[0].Flag && tempAnswer[1].Flag == tempRAnswer[1].Flag && tempAnswer[2].Flag == tempRAnswer[2].Flag && tempAnswer[3].Flag == tempRAnswer[3].Flag) { mark += 1; } } result.Mark = 10 * mark / temp.Count; break; } dbContext.Results.Add(result); dbContext.SaveChanges(); } Hide(); MessageBox.Show("Данные сохранены", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); userForm.InitDGVResultLabAndTest(); }
public void InitGroupTable() { using (var dbContext = new ElipContext()) { DGVGroupTable.DataSource = null; var list = dbContext.Groups.Select(g => new { g.Id, g.NumberGroup }).ToList(); if (list.Count >= 0) { DGVGroupTable.DataSource = list; DGVGroupTable.Columns["NumberGroup"].HeaderText = "№ класса"; } } }
private void BStart_Click(object sender, System.EventArgs e) { DataInGroup dataInGroup; using (var dbContext = new ElipContext()) { dataInGroup = dbContext.DataInGroups.Find((int)DGVLabAndTest.SelectedCells[0].Value); } if (dataInGroup.DataType.Equals(DataType.Lab.ToString())) { new CompletingOfTheWorkForm(this, DataType.Lab, dataInGroup, user).Show(); } else { new CompletingOfTheWorkForm(this, DataType.Test, dataInGroup, user).Show(); } }
public void InitHeaderLabel() { using (var dbContext = new ElipContext()) { User = dbContext.Users.Find(User.Id); LUserInfo.Text = new StringBuilder() .Append("Id: ") .Append(User.Id) .Append(" | ") .Append(User.LastName) .Append(" ") .Append(User.FirstName) .Append(" ") .Append(User.MiddleName) .Append(" | Роль: ") .Append(User.Role).ToString(); } }
private void BSave_Click(object sender, EventArgs e) { using (var dbContext = new ElipContext()) { user = dbContext.Users.Find(user.Id); user.FirstName = TBFirstName.Text; user.LastName = TBLastName.Text; user.MiddleName = TBMiddleName.Text; if (!TBNewPass.Text.Trim().Equals("")) { user.Password = TBNewPass.Text; } dbContext.SaveChanges(); } Hide(); MessageBox.Show("Сохранено", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); teacherForm.InitHeaderLabel(); }
public void InitDGVMyLabAndTest() { using (var dbContext = new ElipContext()) { var list = dbContext.DataInGroups.Where(dig => dig.UserId == User.Id).Select(s => new { s.Id, s.Text, s.DataType, s.Group.NumberGroup }).ToList(); if (list.Count >= 0) { DGVMyLabAndTest.DataSource = list; DGVMyLabAndTest.Columns["Text"].HeaderText = "Название работы"; DGVMyLabAndTest.Columns["DataType"].HeaderText = "Тип работы"; DGVMyLabAndTest.Columns["NumberGroup"].HeaderText = "№ класса"; } } }
private void BSave_Click(object sender, EventArgs e) { using (var dbContext = new ElipContext()) { switch (method) { case "Add": if (dataType == DataType.Lab) { dataInGroup.DataType = DataType.Lab.ToString(); dataInGroup.Data = Util.Serializatoin(lab); } else { dataInGroup.DataType = DataType.Test.ToString(); dataInGroup.Data = Util.Serializatoin(test); } dbContext.DataInGroups.Add(dataInGroup); break; case "Edit": if (dataType == DataType.Lab) { dbContext.DataInGroups.Attach(dataInGroup); dataInGroup.Data = Util.Serializatoin(lab); } else { dbContext.DataInGroups.Attach(dataInGroup); dataInGroup.Data = Util.Serializatoin(test); } break; } dataInGroup.Text = TBNameProject.Text; dataInGroup.UserId = user.Id; dbContext.SaveChanges(); } Hide(); MessageBox.Show("Данные сохранены", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); adminForm.InitDataInGroupTable(); }
private void BEdit_Click(object sender, System.EventArgs e) { if (DGVMyLabAndTest.SelectedRows.Count == 0) { return; } DataInGroup dataInGroup; using (var dbContext = new ElipContext()) { dataInGroup = dbContext.DataInGroups.Find((int)DGVMyLabAndTest.SelectedCells[0].Value); } if (dataInGroup.DataType.Equals(DataType.Lab.ToString())) { new AddEditDataForm(this, DataType.Lab, "Edit", dataInGroup).Show(); } else { new AddEditDataForm(this, DataType.Test, "Edit", dataInGroup).Show(); } }
private void InitDGVUserInGroup() { using (var dbContext = new ElipContext()) { dbContext.Users.Attach(user); var ulist = user.Group.Users.Select(u => new { u.Id, u.LastName, u.FirstName, u.MiddleName }).ToList(); if (ulist.Count > 0) { DGVUsers.DataSource = ulist; DGVUsers.Columns["LastName"].HeaderText = "Фамилия"; DGVUsers.Columns["FirstName"].HeaderText = "Имя"; DGVUsers.Columns["MiddleName"].HeaderText = "Отчество"; } } }
private void BDeleteDataInGroup_Click(object sender, System.EventArgs e) { if (DGVDataInGroup.SelectedRows.Count == 0) { return; } var result = MessageBox.Show("Подтверждаете удаление данных из класса?", "Вопрос", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == DialogResult.OK) { using (var dbContext = new ElipContext()) { foreach (DataGridViewRow item in DGVDataInGroup.SelectedRows) { var data = dbContext.DataInGroups.Find((int)item.Cells[0].Value); data.GroupId = null; dbContext.SaveChanges(); } } RefreshDGVDataInGroup(); } }
private void BRegistration_Click(object sender, EventArgs e) { if (ValidateData()) { List <User> checkLogin; using (var dbContext = new ElipContext()) { checkLogin = dbContext.Users.Where(u => u.Login.Equals(TBLogin.Text)).ToList(); } if (checkLogin.Count != 0) { MessageBox.Show("Пользователь с таким логином уже существует.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { using (var dbContext = new ElipContext()) { var saveUser = new User { Login = TBLogin.Text, Password = TBPassword.Text, LastName = TBLastName.Text, FirstName = TBFirstName.Text, MiddleName = TBMiddleName.Text, Role = "Пользователь" }; dbContext.Users.Add(saveUser); dbContext.SaveChanges(); } Hide(); MessageBox.Show("Сохранено", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Некоторые поля пусты!\r\nЗаполните все поля.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void InitDataInGroupTable() { using (var dbContext = new ElipContext()) { DGVDataTable.DataSource = null; var list = dbContext.DataInGroups.Select(dig => new { dig.Id, dig.Text, dig.DataType, dig.Group.NumberGroup, author = dig.User.LastName + " " + dig.User.FirstName + " " + dig.User.MiddleName, }).ToList(); if (list.Count >= 0) { DGVDataTable.DataSource = list; DGVDataTable.Columns["Text"].HeaderText = "Название работы"; DGVDataTable.Columns["DataType"].HeaderText = "Тип работы"; DGVDataTable.Columns["NumberGroup"].HeaderText = "№ класса"; DGVDataTable.Columns["author"].HeaderText = "Автор работы"; } } }
private void BDelete_Click(object sender, System.EventArgs e) { if (DGVMyLabAndTest.SelectedRows.Count == 0) { return; } var result = MessageBox.Show("Подтверждаете удаление?", "Удаление", MessageBoxButtons.OKCancel, MessageBoxIcon.Hand); if (result == DialogResult.OK) { using (var dbContext = new ElipContext()) { var removeList = new List <DataInGroup>(); foreach (DataGridViewRow item in DGVMyLabAndTest.SelectedRows) { removeList.Add(dbContext.DataInGroups.Find((int)item.Cells[0].Value)); } dbContext.DataInGroups.RemoveRange(removeList); dbContext.SaveChanges(); } InitDGVMyLabAndTest(); } }
private void BLogin_Click(object sender, EventArgs e) { using (ElipContext dbContext = new ElipContext()) { if (!dbContext.Database.Exists()) { MessageBox.Show("База данных не существует", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { var user = dbContext.Users.Where(u => u.Login.Equals(TBLogin.Text) && u.Password.Equals(TBPassword.Text) && u.Role.Equals("Администратор")); if (user.Count() == 0) { MessageBox.Show("Неверный логин/пароль либо\r\nтакого пользователя не существует", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { new AdminForm(user.First()).Show(); Hide(); } } } }
public void InitDGVResultLabAndTest() { using (var dbContext = new ElipContext()) { var resList = dbContext.Users.Find(user.Id).Results.Select(r => new { r.Id, text = r.DataInGroup.Text, dataType = r.DataInGroup.DataType, r.DateTimeResult, r.Mark, r.Status }).ToList(); if (resList.Count >= 0) { DGVResultLabAndTest.DataSource = resList; DGVResultLabAndTest.Columns["text"].HeaderText = "Название работы"; DGVResultLabAndTest.Columns["dataType"].HeaderText = "Тип работы"; DGVResultLabAndTest.Columns["DateTimeResult"].HeaderText = "Дата/время"; DGVResultLabAndTest.Columns["Mark"].HeaderText = "Оценка"; DGVResultLabAndTest.Columns["Status"].HeaderText = "Статус проверки"; } } }