Пример #1
0
 public Lesson(LessonType type, Group group, Interval interval)
 {
     this.type = type;
     type.AddLesson(this);
     this.group = group;
     group.AddLesson(this);
     this.interval   = interval;
     interval.Lesson = this;
 }
Пример #2
0
 public static Lesson Assign(Room room, Teacher teacher, Group group, LessonType lessonType, Interval interval)
 {
     if (room.Intervals.Contains(interval) &&
         teacher.Intervals.Contains(interval) &&
         group.Intervals.Contains(interval) &&
         group.LessonTypes.Contains(lessonType) &&
         teacher.LessonTypes.Contains(lessonType) &&
         room.LessonTypes.Contains(lessonType))
     {
         teacher.Intervals.Remove(interval);
         group.Intervals.Remove(interval);
         room.Intervals.Remove(interval);
         group.LessonTypes.RemoveAt(group.LessonTypes.IndexOf(lessonType));
         return(new Lesson(lessonType, group, interval));
     }
     return(null);
 }
Пример #3
0
 public void AddLessonType(LessonType lessonType)
 {
     LessonTypes.Add(lessonType);
 }
Пример #4
0
 public static void AddLessonTypeToGroup(Group group, LessonType lessonType)
 {
     group.LessonTypes.Add(lessonType);
 }
Пример #5
0
 public static void AddLessonTypeToRoom(Room room, LessonType lessonType)
 {
     room.LessonTypes.Add(lessonType);
 }
Пример #6
0
 public static void AddLessonTypeToTeacher(Teacher teacher, LessonType lessonType)
 {
     teacher.LessonTypes.Add(lessonType);
 }
Пример #7
0
        public static DataModel LoadData()
        {
            var dataModel = new DataModel();

            var math = new LessonType("Matematyka");
            var inf  = new LessonType("Informatyka");
            var his  = new LessonType("Historia filozofii tańca w pierwszej połowie Xw.");

            DataModel.lessonTypes.Add(math);
            DataModel.lessonTypes.Add(inf);
            DataModel.lessonTypes.Add(his);

            var jko = new Teacher("Jan", "Kowalski");
            var kpi = new Teacher("Krzysztof", "Pixel");
            var jwi = new Teacher("Jadwiga", "Wielka");

            Model.AddTeachersToDataModel(dataModel, jko, kpi, jwi);

            Model.AddIntervalToTeacher(jko, 1, 1);
            Model.AddIntervalToTeacher(jko, 2, 1);
            Model.AddIntervalToTeacher(jko, 4, 1);
            Model.AddIntervalToTeacher(jko, 5, 1);
            Model.AddLessonTypeToTeacher(jko, math);

            Model.AddIntervalToTeacher(kpi, 1, 1);
            Model.AddIntervalToTeacher(kpi, 2, 1);
            Model.AddLessonTypeToTeacher(kpi, inf);

            Model.AddIntervalToTeacher(jwi, 1, 1);
            Model.AddIntervalToTeacher(jwi, 2, 1);
            Model.AddIntervalToTeacher(jwi, 3, 1);
            Model.AddIntervalToTeacher(jwi, 4, 1);
            Model.AddLessonTypeToTeacher(jwi, his);

            var teachers = new List <Teacher>()
            {
                jko,
                kpi,
                jwi
            };

            var s1 = new Room("s1");
            var s2 = new Room("s2");
            var s3 = new Room("s3");

            Model.AddIntervalToRoom(s1, 1, 1);
            Model.AddIntervalToRoom(s1, 2, 1);
            Model.AddIntervalToRoom(s1, 5, 1);
            Model.AddIntervalToRoom(s1, 10, 1);

            Model.AddLessonTypeToRoom(s1, math);
            Model.AddLessonTypeToRoom(s1, inf);

            Model.AddIntervalToRoom(s2, 2, 1);
            Model.AddIntervalToRoom(s2, 3, 1);
            Model.AddIntervalToRoom(s2, 10, 1);

            Model.AddLessonTypeToRoom(s2, his);

            Model.AddIntervalToRoom(s3, 2, 1);
            Model.AddIntervalToRoom(s3, 3, 1);
            Model.AddIntervalToRoom(s3, 10, 1);

            Model.AddLessonTypeToRoom(s3, his);
            Model.AddLessonTypeToRoom(s3, math);
            Model.AddLessonTypeToRoom(s3, inf);

            Model.AddRoomsToDataModel(dataModel, s1, s2, s3);

            var rooms = new List <Room>()
            {
                s1,
                s2,
                s3
            };

            var c1A = new Group("1A");

            for (int i = 0; i < 12; i++)
            {
                Model.AddIntervalToGroup(c1A, i, 1);
            }

            Model.AddLessonTypeToGroup(c1A, math);
            Model.AddLessonTypeToGroup(c1A, inf);
            Model.AddLessonTypeToGroup(c1A, his);
            Model.AddLessonTypeToGroup(c1A, his);

            Model.AddGroupsToDataModel(dataModel, c1A);

            return(dataModel);
        }