/// <summary> /// Возвращает связку "Преподаватель - Дисциплина", /// если она доступна пользователю /// </summary> /// <param name="eduPlanId"></param> /// <param name="disciplineId"></param> /// <param name="eduYearId"></param> /// <param name="teacherDisciplineId"></param> /// <param name="userName"></param> /// <returns></returns> public async Task <TeacherDiscipline> GetTeacherDisciplineByUserNameAsync(int eduPlanId, int disciplineId, int eduYearId, int?teacherDisciplineId, string userName) { var eduPlan = await GetEduPlanByUserNameAsync(eduPlanId, userName); if (eduPlan == null) { return(null); } var eduPlanEduYear = eduPlan.EduPlanEduYears.FirstOrDefault(y => y.EduYearId == eduYearId); var discipline = await GetDisciplineByUserNameAsync(eduPlanId, disciplineId, userName); if (discipline == null) { return(null); } TeacherDiscipline teacherDiscipline = _eduPlanRepository .GetTeacherDisciplineByDisciplineAndTeacherDisciplineId(discipline, teacherDisciplineId); if (teacherDiscipline == null) { teacherDiscipline = new TeacherDiscipline { TeacherDisciplineId = teacherDisciplineId ?? 0, Discipline = discipline, DisciplineId = disciplineId, EduPlanEduYear = eduPlanEduYear, EduPlanEduYearId = eduPlanEduYear.EduPlanEduYearId }; } return(teacherDiscipline); }
public async Task <IActionResult> Edit(int id, [Bind("TeacherDisciplineId,EduPlanEduYearId,TeacherId,DisciplineId")] TeacherDiscipline teacherDiscipline) { if (id != teacherDiscipline.TeacherDisciplineId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(teacherDiscipline); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TeacherDisciplineExists(teacherDiscipline.TeacherDisciplineId)) { return(NotFound()); } else { throw; } } var eduPlanEduYear = await _context.EduPlanEduYears.SingleOrDefaultAsync(py => py.EduPlanEduYearId == teacherDiscipline.EduPlanEduYearId); return(RedirectToAction(nameof(Index), new { eduPlanEduYear?.EduPlanId, eduPlanEduYear?.EduYearId })); } return(View(teacherDiscipline)); }
public async Task <IActionResult> TeacherDisciplinesCreateOrEdit(int EduPlanId, int DisciplineId, int EduYearId, int?TeacherDisciplineId) { TeacherDiscipline teacherDiscipline = await _metodKomissiyaRepository .GetTeacherDisciplineByUserNameAsync(EduPlanId, DisciplineId, EduYearId, TeacherDisciplineId, User.Identity.Name); ViewBag.EduPlanId = EduPlanId; ViewBag.Teachers = _selectListRepository.GetSelectListTeacherFio(); return(View(teacherDiscipline)); }
/// <summary> /// Удаляет привязку "Преподаватель - Дисциплина" /// </summary> /// <param name="teacherDiscipline"></param> /// <returns></returns> public async Task RemoveTeacherDisciplineAsync(TeacherDiscipline teacherDiscipline) { if (teacherDiscipline == null) { return; } _context.TeacherDisciplines.Remove(teacherDiscipline); await _context.SaveChangesAsync(); }
/// <summary> /// Возвращает связку "Преподаватель - Дисциплина" /// </summary> /// <param name="discipline"></param> /// <param name="teacherDisciplineId"></param> /// <returns></returns> public TeacherDiscipline GetTeacherDisciplineByDisciplineAndTeacherDisciplineId(Discipline discipline, int?teacherDisciplineId) { if (discipline == null || teacherDisciplineId == null) { return(null); } TeacherDiscipline teacherDiscipline = discipline.TeacherDisciplines.SingleOrDefault(td => td.TeacherDisciplineId == teacherDisciplineId); return(teacherDiscipline); }
/// <summary> /// Удаляет привязку "Преподаватель - Дисциплина" /// </summary> /// <param name="eduPlanId"></param> /// <param name="disciplineId"></param> /// <param name="eduYearId"></param> /// <param name="teacherDisciplineId"></param> /// <param name="userName"></param> /// <returns></returns> public async Task RemoveTeacherDisciplineByUserNameAsync(int eduPlanId, int disciplineId, int eduYearId, int teacherDisciplineId, string userName) { TeacherDiscipline teacherDiscipline = await GetTeacherDisciplineByUserNameAsync(eduPlanId, disciplineId, eduYearId, teacherDisciplineId, userName); if (teacherDiscipline == null || teacherDiscipline.TeacherDisciplineId == 0) { return; } await _eduPlanRepository.RemoveTeacherDisciplineAsync(teacherDiscipline); }
public async Task <IActionResult> Create([Bind("TeacherDisciplineId,EduPlanEduYearId,TeacherId,DisciplineId")] TeacherDiscipline teacherDiscipline) { if (ModelState.IsValid) { _context.Add(teacherDiscipline); await _context.SaveChangesAsync(); var eduPlanEduYear = await _context.EduPlanEduYears.SingleOrDefaultAsync(py => py.EduPlanEduYearId == teacherDiscipline.EduPlanEduYearId); return(RedirectToAction(nameof(Index), new { eduPlanEduYear?.EduPlanId, eduPlanEduYear?.EduYearId })); } return(View(teacherDiscipline)); }
public async Task <IActionResult> TeacherDisciplinesRemove(int EduPlanId, int DisciplineId, int EduYearId, int TeacherDisciplineId) { TeacherDiscipline teacherDiscipline = await _metodKomissiyaRepository .GetTeacherDisciplineByUserNameAsync(EduPlanId, DisciplineId, EduYearId, TeacherDisciplineId, User.Identity.Name); if (teacherDiscipline == null || teacherDiscipline.TeacherDisciplineId == 0) { return(NotFound()); } ViewBag.EduPlanId = EduPlanId; ViewBag.Teachers = _selectListRepository.GetSelectListTeacherFio(); return(View(teacherDiscipline)); }
public async Task <IActionResult> TeacherDisciplinesCreateOrEditConfirmed(int EduPlanId, int EduYearId, TeacherDiscipline teacherDiscipline) { TeacherDiscipline teacherDisciplineChanging = await _metodKomissiyaRepository .GetTeacherDisciplineByUserNameAsync(EduPlanId, teacherDiscipline.DisciplineId, EduYearId, teacherDiscipline.TeacherDisciplineId, User.Identity.Name); if (teacherDisciplineChanging != null) { teacherDisciplineChanging.TeacherId = teacherDiscipline.TeacherId; await _metodKomissiyaRepository.UpdateTeacherDisciplineAsync(teacherDisciplineChanging); } return(RedirectToAction(nameof(EduPlanPreview), new { id = EduPlanId })); }
private void addDiscipline_Click(object sender, RoutedEventArgs e) { TeacherDiscipline discipline = null; Discipline currentDiscipline = null; var editor = new DisciplineEditorWindow(_context, discipline, currentDiscipline); Hide(); editor.ShowDialog(); if (editor.DialogResult == true) { listDisciplines.ItemsSource = _context.TeacherDisciplines.ToList(); } ShowDialog(); }
public async Task <IActionResult> AddTeacher(int id, int teacherId) { if (_context.TeacherDisciplines.Where(x => x.DisciplineId == id && x.TeacherId == teacherId).Count() > 0) { return(Conflict()); } var teacherDiscipline = new TeacherDiscipline(); teacherDiscipline.DisciplineId = id; teacherDiscipline.TeacherId = teacherId; _context.Add(teacherDiscipline); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Edit), new { id = id })); }
public async Task <IActionResult> AddDiscipline(int id, int DisciplineId, string ReturnUrl) { if (_context.TeacherDisciplines.Where(x => x.TeacherId == id && x.DisciplineId == DisciplineId).Any()) { return(Conflict()); } var newTeacherDisp = new TeacherDiscipline { TeacherId = (int)id, DisciplineId = DisciplineId }; _context.Add(newTeacherDisp); await _context.SaveChangesAsync(); ViewData["ReturnUrl"] = ReturnUrl; return(RedirectToAction(nameof(Edit), new { id, ReturnUrl })); }
public DisciplineEditorWindow(UniversityEntities context, TeacherDiscipline discipline, Discipline currentDiscipline) { InitializeComponent(); _context = context; _discipline = discipline; _currentDiscipline = currentDiscipline; startAcademicYearPicker.SelectedDate = new DateTime(2001, 1, 1); endAcademicYearPicker.SelectedDate = new DateTime(2001, 1, 1); totalHoursBox.Text = "0"; listGroups.ItemsSource = context.Groups.ToList(); listTeachers.ItemsSource = context.Teachers.ToList(); if (_discipline == null) { _discipline = new TeacherDiscipline(); disciplineWasNull = true; _currentDiscipline = new Discipline(); currentDisciplineWasNull = true; deleteButton.Visibility = Visibility.Hidden; return; } nameBox.Text = _discipline.Discipline.Name; codeBox.Text = _discipline.Discipline.Code; totalHoursBox.Text = _discipline.TotalHours.ToString(); startAcademicYearPicker.Text = _discipline.AcademicYearStart.ToString("d"); endAcademicYearPicker.Text = _discipline.AcademicYearEnd.ToString("d"); listGroups.SelectedItem = _discipline.Group; listTeachers.SelectedItem = _discipline.Teacher; }
/// <summary> /// Обновляет привязку "Преподаватель - Дисциплина" /// </summary> /// <param name="teacherDisciplineChanging"></param> /// <returns></returns> public async Task UpdateEduAnnotationAsync(TeacherDiscipline teacherDisciplineChanging) { _context.TeacherDisciplines.Update(teacherDisciplineChanging); await _context.SaveChangesAsync(); }
/// <summary> /// Обновляет привязку "Преподаватель - Дисциплина" /// </summary> /// <param name="teacherDisciplineChanging"></param> /// <returns></returns> public async Task UpdateTeacherDisciplineAsync(TeacherDiscipline teacherDisciplineChanging) { await _eduPlanRepository.UpdateEduAnnotationAsync(teacherDisciplineChanging); }