public static void SetBlock(OptionalCourse optionalCourse) { foreach (Day day in TimetableGenerator.week) { if (day.dayName == optionalCourse.timeSpanDay.dayName) { for (int i = 0; i < TimetableGenerator.times.Length; i++) { if (TimetableGenerator.times[i].start == optionalCourse.timeSpanDay.start) { TimeSpan timespan = new TimeSpan(TimetableGenerator.times[i].start, TimetableGenerator.times[i].end); Block block = new Block(timespan, i, day.dayName); Course course = new Course(); course.name = optionalCourse.name; course.prof = optionalCourse.prof; course.room = optionalCourse.room; block.blockCourses.Add(course); day.blocks[i] = block; foreach (Prof prof in TimetableGenerator.profs) { if (optionalCourse.prof.name == prof.name) { prof.occupied.Add(optionalCourse.timeSpanDay); } } } } } } }
public static void SetBlock(OptionalCourse optionalCourse) //Zuweisungslogik der optional Kurses { foreach (Day day in TimetableGenerator.week) //Für jeden Tag in der Woche { if (day.dayName == optionalCourse.timeSpanDay.dayName) // Name des Tages der gleiche wie Tag des optionalen Kurs { for (int i = 0; i < TimetableGenerator.times.Length; i++) //Wir gehen die Uhrzeiten in den blöcken durch, wir gehen alle Zeiten durch um heruaszufinden wann der Block stattfindet { if (TimetableGenerator.times[i].start == optionalCourse.timeSpanDay.start) //Ist der block an der stelle i der gleiche wie der an der WPV Versanstatlung die stattfindet. { TimeSpan timespan = new TimeSpan(TimetableGenerator.times[i].start, TimetableGenerator.times[i].end); //WPV wird hier festgesetzt: Für den Block vrauchen wir eine Timespan Block block = new Block(timespan, i, day.dayName); //Attribute für Block wird zugewiesen. (brauchen bei der Erstellung ders Blocks einen Timespan --> Konstruktor erwartet dieses argument. Course course = new Course(); //Neuer Kurs wird erstellt course.name = optionalCourse.name; course.prof = optionalCourse.prof; course.room = optionalCourse.room; block.blockCourses.Add(course); //Block Kurse erwartet nur Daten vom Typ Kurs. day.blocks[i] = block; //Block in der Zeitspanne wird als block festgelegt foreach (Prof prof in TimetableGenerator.profs) //geht alle Prof durch { if (optionalCourse.prof.name == prof.name) //Sucht richtigen Prof wenn Name übereinstimmt { prof.occupied.Add(optionalCourse.timeSpanDay); //Adde Zeit zu Prof seinen gesperrten Zeiten } } } } } } }
public static void PrintOptionalCourseData(Block block, Day day, OptionalCourse optionalCourse) { int i = block.blockNumber + 1; Console.WriteLine(optionalCourse.name); Console.WriteLine(optionalCourse.room.name + ": "); Console.WriteLine("gehalten von " + optionalCourse.prof.name); Console.WriteLine("Am " + day.dayName); Console.WriteLine("im " + i + ". Block"); Console.WriteLine(" "); }
public static void PrintOptionalCourseData(Block block, Day day, OptionalCourse optionalCourse) { int i = block.blockNumber + 1; Console.WriteLine(optionalCourse.name); Console.WriteLine(optionalCourse.room.name); Console.WriteLine(optionalCourse.prof.name); Console.WriteLine(day.dayName); Console.WriteLine(i + ". Block"); Console.WriteLine(" "); }
public static void SetBlock(List <Day> week, TimeSpan[] a, OptionalCourse o) { foreach (Day d in week) { if (d.Equals(o.timeSpanDay.day)) { for (int i = 0; i < a.Length; i++) { if (a[i].start == o.timeSpanDay.start) { o.block = d.blocks[i]; } } } } }