public void UpdateGroups(StudyCourse studyCourse, StudyGroup newStudyGroup) { if (studyCourse == null) { throw new ArgumentException("Argument 'studyCourse' is null"); } if (newStudyGroup == null) { throw new ArgumentException("Argument 'newStudyGroup' is null"); } bool foundGroup = false; foreach (var studyGroup in studyCourse.Groups) { if (studyGroup.TreeId == newStudyGroup.TreeId) { foundGroup = true; studyGroup.GroupName = newStudyGroup.GroupName; studyGroup.MinimalStudyCount = newStudyGroup.MinimalStudyCount; } } if (!foundGroup) { studyCourse.Groups.Add(newStudyGroup); } }
public ActionResult Create(StudyGroupEditModel model) { if (!ModelState.IsValid) { IEnumerable <Teacher> teacherList = _teacherRepository.Select(new TeacherFilter { }); List <SelectListItem> teacherSelectList = new List <SelectListItem>(); foreach (var item in teacherList) { var selectedElement = new SelectListItem { Text = item.Name, Value = item.Id.ToString() }; teacherSelectList.Add(selectedElement); } model.TeacherSelectList = teacherSelectList; return(View(model)); } var entity = new StudyGroup { Name = model.Name, TeacherId = model.TeacherId, CourseId = 1 }; return(RedirectToAction("Edit", new { id = _studyGroupRepository.Insert(entity), returnUrl = model.ReturnUrl })); }
/// <summary> /// Updates a studygroup, if it doesnt already exist a new entry will be inserted into the db. /// </summary> /// <param name="studyGroup"></param> public void UpdateStudyGroup(StudyGroup studyGroup) { lock (DbContext.locker) { Db.Update(studyGroup); } }
public IHttpActionResult PutStudyGroup(int id, StudyGroup studyGroup) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != studyGroup.Id) { return(BadRequest()); } db.Entry(studyGroup).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!StudyGroupExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public int Insert(StudyGroup entity) { string procedureName = "StudyGroup_Insert"; using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); SqlCommand command = new SqlCommand(procedureName, connection) { CommandType = System.Data.CommandType.StoredProcedure }; SqlParameter NameParam = new SqlParameter { ParameterName = "@Name", Value = entity.Name }; command.Parameters.Add(NameParam); SqlParameter OtherParam2 = new SqlParameter { ParameterName = "@TeacherId", Value = entity.TeacherId }; command.Parameters.Add(OtherParam2); SqlParameter OtherParam1 = new SqlParameter { ParameterName = "@CourseId", Value = entity.CourseId }; command.Parameters.Add(OtherParam1); return((int)command.ExecuteScalar()); } }
private void button1_Click(object sender, EventArgs e) { //give warning -- are you sure? DialogResult dialogResult = MessageBox.Show("Are you sure you want to leave this group?", "Warning", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { MessageBox.Show("Successfully left study group", "Group Left", MessageBoxButtons.OK); String s = (String)activeGroupList.SelectedItem; StudyGroup stg = null; //find the group for the user foreach (StudyGroup sg in theUser.Groups) { if (sg.StudyGroupName.Equals(s)) { stg = sg; } } if (stg == null) { return; } stg.Members.Remove(theUser.DisplayName); theUser.Groups.Remove(stg); } }
public IHttpActionResult PostStudyGroup(StudyGroup studyGroup) { //Add group to StudyGroup and X_Coordinator_Group tables if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.StudyGroups.Add(studyGroup); db.X_Coordinator_Groups.Add(new X_Coordinator_Group { StudyGroupId = studyGroup.Id, CoordinatorId = studyGroup.StudyCoordinatorId }); try { db.SaveChanges(); } catch (DbUpdateException) { if (StudyGroupExists(studyGroup.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = studyGroup.Id }, studyGroup)); }
private async void groupsList_SelectedIndexChanged(object sender, EventArgs e) { List <StudyGroup> everyGroup = await dbm.GetEveryStudyGroup(); String s = (String)groupsList.SelectedItem; StudyGroup stg = null; //find the group for the user foreach (StudyGroup sg in everyGroup) { if (sg.StudyGroupName.Equals(s)) { stg = sg; } } if (stg == null) { return; } descriptionTextBox.Text = stg.Description; string minute = stg.MeetingTime.Minute + ""; if (minute.Length == 1) { minute = "0" + minute; } meetingTimeFieldLabel.Text = stg.MeetingTime.Hour + ":" + minute; durationFieldLabel.Text = stg.Duration + ""; }
public IHttpActionResult PostStudyGroup(StudyGroup studyGroup) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.StudyGroups.Add(studyGroup); try { db.SaveChanges(); } catch (DbUpdateException) { if (StudyGroupExists(studyGroup.StudyGroupId)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = studyGroup.StudyGroupId }, studyGroup)); }
public void CreateRowsFromStudyGroup(ISheet sheet, StudyGroup studyGroup) { int rowIndex = sheet.LastRowNum + 1; foreach (var study in studyGroup.Studies) { if (study.CreditPoints[0] > 0 || study.CreditPoints[1] > 0 || study.CreditPoints[2] > 0) { CreateRowFromStudy(sheet, study); } } var row = sheet.GetRow(rowIndex); if (row == null) { return; } row.GetCell(0).SetCellValue(studyGroup.GroupName); var cellRange = new CellRangeAddress(rowIndex, sheet.LastRowNum, 0, 0); sheet.AddMergedRegion(cellRange); }
private void UpdateGroupStudents(string[] selectedStudents, StudyGroup groupToUpdate) { if (selectedStudents == null) { groupToUpdate.Students = new List <Student>(); return; } var selectedStudentsHS = new HashSet <string>(selectedStudents); var groupStudents = new HashSet <int> (groupToUpdate.Students.Select(s => s.StudentID)); foreach (var student in db.Students) { if (selectedStudentsHS.Contains(student.StudentID.ToString())) { if (!groupStudents.Contains(student.StudentID)) { groupToUpdate.Students.Add(student); } } else { if (groupStudents.Contains(student.StudentID)) { groupToUpdate.Students.Remove(student); } } } }
public ActionResult DeleteConfirmed(int id) { StudyGroup studyGroup = db.StudyGroups.Find(id); db.StudyGroups.Remove(studyGroup); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <StudyGroup> Insert(StudyGroup studyGroup) { Context.Entry(studyGroup).State = EntityState.Added; await Context.SaveChangesAsync(); return(await Context.StudyGroups.Include(s => s.User) .Include(s => s.Module) .SingleAsync(s => s.Id == studyGroup.Id)); }
// При выборе специализации заполняем таблицу курсов, применяя два фильтра-селектора private void cbSpecializations_SelectionChangeCommitted(object sender, EventArgs e) { // получаем выбранную специальность var speciality = (Speciality)cbSpecialities.SelectedItem; // получаем выбранную специализацию var specialization = (Specialization)cbSpecializations.SelectedItem; // если один из фильтров не выбран, выходим if (speciality == null || specialization == null) { return; } // заполняем таблицу фильтрованными значениями var panel = GridPanelBuilder.BuildPropertyPanel(_root, new StudyGroup(), _root.StudyGroups, _root.StudyGroups.FilteredBySpecialityAndSpecialization(speciality.IdSpeciality, specialization.IdSpecialization), new[] { "IdSpeciality", "IdSpecialization" }, new[] { speciality.IdSpeciality, specialization.IdSpecialization }); panel.GridSelectedChanged += Panel_GroupSelectedChanged; panel2.Controls.Add(panel); // предыдущую панель убираем if (panel2.Controls.Count > 1) { panel2.Controls.RemoveAt(0); } panel2.Enabled = true; // заполняем таблицу фильтрованными значениями if (_group == null) { panel = GridPanelBuilder.BuildPropertyPanel(_root, new Student(), _root.Students, _root.Students.FilteredBySpecialityAndSpecialization(speciality.IdSpeciality, specialization.IdSpecialization), new[] { "IdSpeciality", "IdSpecialization" }, new[] { speciality.IdSpeciality, specialization.IdSpecialization }); } else { panel = GridPanelBuilder.BuildPropertyPanel(_root, new Student(), _root.Students, _root.Students.FilteredBySpecialityAndSpecialization(speciality.IdSpeciality, specialization.IdSpecialization, _group.IdStudyGroup), new[] { "IdSpeciality", "IdSpecialization", "IdStudyGroup" }, new[] { speciality.IdSpeciality, specialization.IdSpecialization, _group.IdStudyGroup }); } panel.GridSelectedChanged += Panel_GridSelectedChanged; panel3.Controls.Add(panel); // предыдущую панель убираем if (panel3.Controls.Count > 1) { panel3.Controls.RemoveAt(0); } GridPanelBuilder.HideButtonsPanel(panel); panel3.Enabled = true; btnStudent.Enabled = btnMoveToGroup.Enabled = false; _student = null; _group = null; }
public static string Resolve(Tuition tuition, StudyGroup studyGroup) { if (studyGroup?.Id != null) { return(Resolve(studyGroup)); } return($"{tuition.SubjectRef.Abbreviation}-{tuition.StudyGroupRef.Name}"); }
public async Task <ActionResult> DeleteConfirmed(string id) { StudyGroup studyGroup = await db.studyGroup.FindAsync(id); db.studyGroup.Remove(studyGroup); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
private Lesson ToLesson(Schedule schedule) { Discipline discipline = _context.Discipline.Find(schedule.DisciplineID); DisciplineType disciplineType = _context.DisciplineType.Find(schedule.DisciplineTypeID); Cabinet cabinet = _context.Cabinet.Find(schedule.CabinetID); Teacher teacher = _context.Teacher.Find(schedule.TeacherId); StudyGroup group = _context.StudyGroup.Find(schedule.StudyGroupID); return(new Lesson(discipline, disciplineType, cabinet, teacher, group)); }
public static string Resolve(StudyGroup studyGroup) { if (studyGroup.Id != null) { return(studyGroup.Id.ToString()); } var grades = studyGroup.Grades.Select(x => x.Name).Distinct().OrderBy(x => x); return(string.Join("-", grades)); }
public async Task <ActionResult> Edit([Bind(Include = "id,name")] StudyGroup studyGroup) { if (ModelState.IsValid) { db.Entry(studyGroup).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(studyGroup)); }
private async void RefreshMessages(StudyGroup theStudyGroup) { groupChatPreview.Items.Clear(); theStudyGroup.GroupDiscussionBoard.History = await dbm.GetMessages(dbm.SGKEY(theStudyGroup.StudyGroupName, theStudyGroup.CourseName, theStudyGroup.CourseSemester, theStudyGroup.Year)); foreach (String message in theStudyGroup.GroupDiscussionBoard.GetListOfMessages()) { groupChatPreview.Items.Add(message); } }
public IHttpActionResult GetStudyGroup(int id) { StudyGroup studyGroup = db.StudyGroups.Find(id); if (studyGroup == null) { return(NotFound()); } return(Ok(studyGroup)); }
// Выбор строки в таблице групп изменился private void Panel_GroupSelectedChanged(object obj) { _group = (StudyGroup)obj; if (_group == null) { return; } var number = _group.Number; UpdateStudents(); FingGroupText(number); }
public async Task <ActionResult> Create([Bind(Include = "id,name")] StudyGroup studyGroup) { if (ModelState.IsValid) { db.studyGroup.Add(studyGroup); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(studyGroup)); }
public async Task Update(StudyGroup studyGroup) { try { Context.Entry(studyGroup).State = EntityState.Modified; await Context.SaveChangesAsync(); } catch (Exception ex) { throw new ArgumentException(ex.Message, ex); } }
public void UpdateGroups(StudyGroup newStudyGroup) { if (newStudyGroup == null) { throw new ArgumentException("Argument 'newStudyGroup' is null"); } foreach (var studyProject in StudyProjects) { UpdateGroups(studyProject, newStudyGroup); } }
/// <summary> /// Inserts the studyGroup into the database. /// </summary> /// <param name="studyGroup"></param> /// <returns>Returns true if the studyGroup was inserted, /// </returns> public bool InsertStudyGroup(StudyGroup studyGroup) { lock (DbContext.locker) { var rowsAffected = Db.Update(studyGroup); if (rowsAffected == 0) { studyGroup.id = Utility.Hasher.Base64Encode(studyGroup.id); Db.Insert(studyGroup); } } return(true); }
public IHttpActionResult PostStudyGroup(StudyGroupViewModel studyGroup) { //Add group to StudyGroup and X_Coordinator_Group tables if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var group = new StudyGroup { StudyGroupCreatedTime = studyGroup.StudyGroupCreadtedTime, StudyGroupName = studyGroup.StudyGroupName }; db.StudyGroups.Add(group); db.X_Coordinator_Groups.Add(new X_Coordinator_Group { StudyGroupId = group.Id, CoordinatorId = studyGroup.StudyCoordinatorId }); try { db.SaveChanges(); } catch (DbUpdateException) { if (StudyGroupExists(studyGroup.Id)) { return(Conflict()); } else { throw; } } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); // Combine the original exception message with the new one. var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage); // Throw a new DbEntityValidationException with the improved exception message. throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors); } return(CreatedAtRoute("DefaultApi", new { id = studyGroup.Id }, group)); }
public GroupPerformanceForm(Root root) { InitializeComponent(); _root = root; // селектор оценок foreach (var item in typeof(Grade).GetEnumValues()) { var value = new EnumCover() { Item = (Grade)item }; cbGrade.Items.Add(value); } // селектор предметов foreach (var item in _root.Matters) { cbMatters.Items.Add(item); } if (cbMatters.Items.Count > 0) { cbMatters.SelectedItem = _matter = (Matter)cbMatters.Items[0]; } // селектор групп, добавляем "непустые" группы foreach (var item in _root.StudyGroups) { if (_root.Students.Any(x => x.IdStudyGroup == item.IdStudyGroup)) { cbStudyGroups.Items.Add(item); } } if (cbStudyGroups.Items.Count > 0) { cbStudyGroups.SelectedItem = _group = (StudyGroup)cbStudyGroups.Items[0]; } // селектор семестров _semester = root.Semesters.FirstOrDefault(x => x.Number == 1); foreach (var item in _root.Semesters) { cbSemesters.Items.Add(item); } cbSemesters.SelectedItem = _semester; panel1.Enabled = _semester != null; cbMatters_SelectionChangeCommitted(null, new EventArgs()); }
// GET: StudyGroup/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudyGroup studyGroup = db.StudyGroups.Find(id); if (studyGroup == null) { return(HttpNotFound()); } return(View(studyGroup)); }
public IHttpActionResult DeleteStudyGroup(string id) { StudyGroup studyGroup = db.StudyGroups.Find(id); if (studyGroup == null) { return(NotFound()); } db.StudyGroups.Remove(studyGroup); db.SaveChanges(); return(Ok(studyGroup)); }