private void AssertTeacherLessonEquals(TeacherLesson actual, TeacherLesson expected) { Assert.IsNotNull(actual); Assert.IsTrue(actual.LessonId == expected.LessonId); Assert.IsTrue(actual.TeacherId == expected.TeacherId); AssertLessonsEquals(actual.Lesson, expected.Lesson); AssertTeachersEquals(actual.Teacher, expected.Teacher); }
public TeacherLesson Save(TeacherLesson teacherLesson) { var savingEntity = teacherLesson.Clone() as TeacherLesson; HandleForeignKey(() => savingEntity.Teacher, t => savingEntity.Teacher = t); HandleForeignKey(() => savingEntity.Lesson, l => savingEntity.Lesson = l); return(SaveEntityAndUpdate(savingEntity)); }
private Command DeleteTeacherLesson( ScheduleService service, Func <string, string> requestInput) => args => { var teacherId = requestInput("Введите ID преподавателя"); var lessonId = requestInput("Введите ID предмета"); var teacherLesson = new TeacherLesson { Teacher = new Teacher { Id = teacherId }, Lesson = new Lesson { Id = lessonId } }; Del(() => service.Delete(teacherLesson)); };
public bool addTeacherLessons(int name, int lname) { using (var SC = new DAL.Model.MVC_Sc()) { var cek = SC.TeacherLessons.Where(x => x.TeacherId == lname).Where(x => x.LessonId == lname).FirstOrDefault(); if (cek == null) { TeacherLesson sl = new TeacherLesson(); sl.LessonId = lname; sl.TeacherId = name; SC.TeacherLessons.Add(sl); SC.SaveChanges(); return(true); } return(false); } }
public ActionResult Schedule(int teacherId, int dayNumber) { var teacher = UnitOfWork.Repository <Job>() .GetQ(x => x.JobId == teacherId) .SingleOrDefault(); if (teacher == null) { return(Content("Error")); } Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); var personId = teacher.Employee.PersonId; var dailySchedule = UnitOfWork.Repository <Lesson>() .GetQ(x => x.Job.Employee.PersonId == personId && x.WeekNumber == UserProfile.WeekNumber && x.DayNumber == dayNumber && x.DeletedAt == null, orderBy: o => o.OrderBy(n => n.ClassNumber)) .GroupBy(g => new { g.ClassNumber }) .Select(x => new TeacherLesson { DayNumber = dayNumber, ClassNumber = x.Key.ClassNumber, Disciplines = x.GroupBy(g => new { g.DisciplineId, g.Discipline.DisciplineName, g.LessonTypeId }) .Select(d => new TeacherDiscipline { DisciplineId = d.Key.DisciplineId, DisciplineName = d.Key.DisciplineName, IsLection = d.Key.LessonTypeId == (int)LessonTypes.Lection, Auditoriums = d.GroupBy(g => new { g.AuditoriumId, AuditoriumNumber = g.Auditorium.AuditoriumNumber + g.Auditorium.Housing.Abbreviation }) .Select(a => new TeacherDisciplineAuditorium { AuditoriumId = a.Key.AuditoriumId, AuditoriumNumber = a.Key.AuditoriumNumber, Groups = a.Select(y => y.Group.DivisionName) }) }) } ) .ToList(); // Окна в расписании преподавателя var jobRepository = UnitOfWork.Repository <Job>() as JobRepository; if (jobRepository != null) { var teacherDowntime = jobRepository.TeachersDowntime(UserProfile.WeekNumber, teacherId, maxDiff: 2) .Select(x => new { x.DayNumber, x.ClassNumber, x.ClassDiff }) .Distinct() .OrderBy(n => n.ClassNumber) .ToList(); // Перебираем занятия между которыми окна for (int i = 0; i < teacherDowntime.Count() - 1; i++) { var classNumber = teacherDowntime[i].ClassNumber; var classDiff = teacherDowntime[i].ClassDiff; // Формируем пустые занятия-окна for (int j = classNumber + 1; j <= classNumber + classDiff; j++) { var downtimeLesson = new TeacherLesson { DayNumber = teacherDowntime[i].DayNumber, ClassNumber = j, IsDowntime = true }; dailySchedule.Add(downtimeLesson); } } } var t = stopWatch.ElapsedMilliseconds; return(PartialView("_TeacherDailySchedule", dailySchedule)); }
public Initialization_TeacherLesson() { //OC TeacherLesson tl1 = new TeacherLesson { TeacherLessonId = 1, TeacherId = 3, LessonId = 1 }; TeacherLesson tl2 = new TeacherLesson { TeacherLessonId = 2, TeacherId = 3, LessonId = 2 }; //WEB TeacherLesson tl3 = new TeacherLesson { TeacherLessonId = 3, TeacherId = 1, LessonId = 3 }; TeacherLesson tl4 = new TeacherLesson { TeacherLessonId = 4, TeacherId = 1, LessonId = 4 }; TeacherLesson tl5 = new TeacherLesson { TeacherLessonId = 5, TeacherId = 1, LessonId = 5 }; TeacherLesson tl6 = new TeacherLesson { TeacherLessonId = 6, TeacherId = 1, LessonId = 6 }; TeacherLesson tl7 = new TeacherLesson { TeacherLessonId = 7, TeacherId = 1, LessonId = 7 }; TeacherLesson tl8 = new TeacherLesson { TeacherLessonId = 8, TeacherId = 3, LessonId = 7 }; TeacherLesson tl9 = new TeacherLesson { TeacherLessonId = 9, TeacherId = 1, LessonId = 8 }; TeacherLesson tl10 = new TeacherLesson { TeacherLessonId = 10, TeacherId = 3, LessonId = 8 }; _teacherLessons.Add(tl1); _teacherLessons.Add(tl2); _teacherLessons.Add(tl3); _teacherLessons.Add(tl4); _teacherLessons.Add(tl5); _teacherLessons.Add(tl6); _teacherLessons.Add(tl7); _teacherLessons.Add(tl8); _teacherLessons.Add(tl9); _teacherLessons.Add(tl10); }