public TimetableCourses(List <Courses> _listCourses, TimetableDozenti _timetableDozenti) { fillDictionaries(); days.Add("Monday", blocksOfMonday); days.Add("Thuesday", blocksOfThuesday); days.Add("Wednesday", blocksOfWednesday); days.Add("Thursday", blocksOfThursday); days.Add("Friday", blocksOfFriday); insertObjectsInTimetable(_listCourses, _timetableDozenti); }
private void insertObjectsInTimetable(List <Courses> _listCourses, TimetableDozenti _timetableDozenti) { Dictionary <string, List <Courses> >[] blocksOfTheWeekCourses = { this.blocksOfMonday, this.blocksOfThuesday, this.blocksOfWednesday, this.blocksOfThursday, this.blocksOfFriday }; Dictionary <string, List <Dozenti> >[] blocksOfTheWeekDozenti = { _timetableDozenti.blocksOfMonday, _timetableDozenti.blocksOfThuesday, _timetableDozenti.blocksOfWednesday, _timetableDozenti.blocksOfThursday, _timetableDozenti.blocksOfFriday }; for (int day = 0; day < blocksOfTheWeekDozenti.Length; day++) { for (int block = 1; block < 7; block++) { for (int i = 0; i < blocksOfTheWeekDozenti[day][block + ".Block"].Count; i++) { Dozenti dozent = blocksOfTheWeekDozenti[day][block + ".Block"][i]; for (int j = 0; j < _listCourses.Count; j++) { if (_listCourses[j].professor == dozent.name) { bool existing = false; for (int k = 0; k < blocksOfTheWeekCourses[day][block + ".Block"].Count; k++) { if (blocksOfTheWeekCourses[day][block + ".Block"][k].professor == dozent.name) { existing = true; break; } //Diese If Bedingung ist neu if (blocksOfTheWeekCourses[day][block + ".Block"][k].semester == _listCourses[j].semester && blocksOfTheWeekCourses[day][block + ".Block"][k].coursesOfStudy[0] == _listCourses[0].coursesOfStudy[0]) { existing = true; break; } } if (existing == false) { blocksOfTheWeekCourses[day][block + ".Block"].Add(_listCourses[j]); _listCourses.Remove(_listCourses[j]); } } } } } } }
static void Main(string[] args) { fillListsWithJsonData(); TimetableWPVs tableWPVs = new TimetableWPVs(allWPVObjects); TimetableDozenti tableDozenti = new TimetableDozenti(allDozentiObjects, tableWPVs); TimetableCourses tableCourses = new TimetableCourses(allRegularCourseObjects, tableDozenti); TimetableRooms tableRooms = new TimetableRooms(allRoomsObjects, tableCourses, tableWPVs); bool runProgram = true; Console.WriteLine("Gooday Day, what would you like to do ?"); while (runProgram == true) { Console.WriteLine(""); Console.WriteLine("You can choose between 4 kinds Timetables"); Console.WriteLine("1. Specific course of Study"); Console.WriteLine("2. All Courses"); Console.WriteLine("3. Professor"); Console.WriteLine("4. Rooms"); Console.WriteLine("5. Exit"); Console.WriteLine("Please type in the number you want"); string mode = Console.ReadLine(); switch (mode) { case "1": Console.Clear(); Console.WriteLine("Please, enter the name of the course of study you would like to see (MIB, OMB, MKB)"); string course = Console.ReadLine(); Console.WriteLine("Which Semester are you interested in ?"); string semesterString = Console.ReadLine(); int semesterNumber = Int32.Parse(semesterString); Console.Clear(); Console.WriteLine(""); tableCourses.printTimetable(course, semesterNumber, tableWPVs); break; case "2": Console.Clear(); Console.WriteLine(""); tableCourses.printAllCoursesTimetable(tableRooms); break; case "3": Console.Clear(); Console.WriteLine("Please, enter the name of the professor you are interested in"); string professorName = Console.ReadLine(); Console.WriteLine(""); tableDozenti.printTimetable(professorName, tableCourses, tableRooms, tableWPVs); //tableWPVs break; case "4": Console.Clear(); Console.WriteLine("Please, enter the roomname you are interested in"); string roomName = Console.ReadLine(); Console.WriteLine(""); tableRooms.printTimetable(roomName, tableCourses, tableDozenti); break; case "5": Console.Clear(); runProgram = false; break; default: Console.Clear(); Console.WriteLine("Please, enter a valid number"); break; } } }
public void printTimetable(string _roomNumber, TimetableCourses _tableCourses, TimetableDozenti _tableDozenti) { string[] dayNames = { "Monday", "Thuesday", "Wednesday", "Thursday", "Friday" }; Dictionary <string, List <Rooms> >[] timesOfDaysRooms = { this.blocksOfMonday, this.blocksOfThuesday, this.blocksOfWednesday, this.blocksOfThursday, this.blocksOfFriday }; for (int day = 0; day < timesOfDaysRooms.Length; day++) { for (int block = 1; block < 7; block++) { for (int i = 0; i < timesOfDaysRooms[day][block + ".Block"].Count; i++) { Rooms room = timesOfDaysRooms[day][block + ".Block"][i]; if (room.roomnumber == _roomNumber) { Console.WriteLine(dayNames[day] + ": " + block + ".Block: " + _tableCourses.days[dayNames[day]][block + ".Block"][i].name + ": " + _tableDozenti.days[dayNames[day]][block + ".Block"][i].name); } } } } }