private void ButtonCreate_Click(object sender, EventArgs e) { SectionModel section = new SectionModel(); section.SectionName = textBoxSectionName.Text; section.FacultyId = faculty.Id; try { section.IsValid(); Console.WriteLine("Section name: " + section.SectionName); Console.WriteLine("Section facultyID: " + section.FacultyId); SectionTimeModel sectionTime1 = new SectionTimeModel(); if (comboBoxClassType1.SelectedIndex == 0) { sectionTime1.ClassType = ClassTypes.Lab; } else if (comboBoxClassType1.SelectedIndex == 1) { sectionTime1.ClassType = ClassTypes.Theory; } sectionTime1.RoomNo = textBoxRoomNo1.Text; sectionTime1.StartTimeId = comboBoxStartTime1.SelectedIndex + 1; sectionTime1.EndTimeId = comboBoxEndTime1.SelectedIndex + 1; sectionTime1.WeekDayID = comboBoxWeekDay1.SelectedIndex + 1; Console.WriteLine("Section Time 1 info:"); Console.WriteLine("Start Id: " + sectionTime1.StartTimeId); Console.WriteLine("End Id: " + sectionTime1.EndTimeId); Console.WriteLine("Day Id: " + sectionTime1.WeekDayID); Console.WriteLine("Room no: " + sectionTime1.RoomNo); Console.WriteLine("Class type: " + sectionTime1.ClassType.ToString()); Console.WriteLine("Class length: " + (sectionTime1.EndTimeId - sectionTime1.StartTimeId).ToString()); try { sectionTime1.IsValid(); SectionTimeModel sectionTime2 = new SectionTimeModel(); if (comboBoxClassType2.SelectedIndex == 0) { sectionTime2.ClassType = ClassTypes.Lab; } else if (comboBoxClassType2.SelectedIndex == 1) { sectionTime2.ClassType = ClassTypes.Theory; } sectionTime2.RoomNo = textBoxRoomNo2.Text; sectionTime2.StartTimeId = comboBoxStartTime2.SelectedIndex + 1; sectionTime2.EndTimeId = comboBoxEndTime2.SelectedIndex + 1; sectionTime2.WeekDayID = comboBoxWeekDay2.SelectedIndex + 1; Console.WriteLine("Section Time 2 info:"); Console.WriteLine("Start Id: " + sectionTime2.StartTimeId); Console.WriteLine("End Id: " + sectionTime2.EndTimeId); Console.WriteLine("Day Id: " + sectionTime2.WeekDayID); Console.WriteLine("Room no: " + sectionTime2.RoomNo); Console.WriteLine("Class type: " + sectionTime2.ClassType.ToString()); Console.WriteLine("Class length: " + (sectionTime2.EndTimeId - sectionTime2.StartTimeId).ToString()); SectionModel createdSection = new SectionModel(); try { sectionTime2.IsValid(); SectionController controller = new SectionController(); try { createdSection = controller.Create(section); Console.WriteLine("Created section id: " + createdSection.Id); sectionTime1.SectionId = createdSection.Id; sectionTime2.SectionId = createdSection.Id; SectionTimeController controller2 = new SectionTimeController(); try { controller2.Create(sectionTime1); controller2.Create(sectionTime2); MessageBox.Show(createdSection.SectionName + " created!"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void ButtonCreate_Click(object sender, EventArgs e) { SectionModel section = new SectionModel(); section.SectionName = textBoxSectionName.Text.Trim(); section.FacultyId = faculty.Id; SectionTimeController stcontroller = new SectionTimeController(); List <SectionTimeModel> sectionTimes = stcontroller.GetByFaculty(faculty.Id); try { section.IsValid(); //Console.WriteLine("Section name: " + section.SectionName); //Console.WriteLine("Section facultyID: " + section.FacultyId); SectionTimeModel sectionTime1 = new SectionTimeModel(); if (comboBoxClassType1.SelectedIndex == 0) { sectionTime1.ClassType = ClassTypes.Lab; } else if (comboBoxClassType1.SelectedIndex == 1) { sectionTime1.ClassType = ClassTypes.Theory; } sectionTime1.RoomNo = textBoxRoomNo1.Text; sectionTime1.StartTimeId = comboBoxStartTime1.SelectedIndex + 1; sectionTime1.EndTimeId = comboBoxEndTime1.SelectedIndex + 1; sectionTime1.WeekDayId = comboBoxWeekDay1.SelectedIndex + 1; //Console.WriteLine("Section Time 1 info:"); //Console.WriteLine("Start Id: " + sectionTime1.StartTimeId); //Console.WriteLine("End Id: " + sectionTime1.EndTimeId); //Console.WriteLine("Day Id: " + sectionTime1.WeekDayID); //Console.WriteLine("Room no: " + sectionTime1.RoomNo); //Console.WriteLine("Class type: " + sectionTime1.ClassType.ToString()); //Console.WriteLine("Class length: " + (sectionTime1.EndTimeId - sectionTime1.StartTimeId).ToString()); try { sectionTime1.IsValid(); foreach (SectionTimeModel model in sectionTimes) { if (model.WeekDayId == sectionTime1.WeekDayId) { if (sectionTime1.StartTimeId < model.EndTimeId && sectionTime1.StartTimeId >= model.StartTimeId) { //Console.WriteLine("Clash 1 with\nstart id: " + model.StartTimeId + "\nend id: " + model.EndTimeId); throw new Exception("Section 1 time clashes with another section. Please choose a different time"); } if (sectionTime1.EndTimeId <= model.EndTimeId && sectionTime1.EndTimeId > model.StartTimeId) { //Console.WriteLine("Clash 2 with\nstart id: " + model.StartTimeId + "\nend id: " + model.EndTimeId); throw new Exception("Section 1 time clashes with another section. Please choose a different time"); } if (sectionTime1.StartTimeId < model.StartTimeId && sectionTime1.EndTimeId > model.EndTimeId) { //Console.WriteLine("Clash 3 with\nstart id: " + model.StartTimeId + "\nend id: " + model.EndTimeId); throw new Exception("Section 1 time clashes with another section. Please choose a different time"); } } } SectionTimeModel sectionTime2 = new SectionTimeModel(); if (!checkBoxIgnore.Checked) { if (comboBoxClassType2.SelectedIndex == 0) { sectionTime2.ClassType = ClassTypes.Lab; } else if (comboBoxClassType2.SelectedIndex == 1) { sectionTime2.ClassType = ClassTypes.Theory; } sectionTime2.RoomNo = textBoxRoomNo2.Text; sectionTime2.StartTimeId = comboBoxStartTime2.SelectedIndex + 1; sectionTime2.EndTimeId = comboBoxEndTime2.SelectedIndex + 1; sectionTime2.WeekDayId = comboBoxWeekDay2.SelectedIndex + 1; //Console.WriteLine("Section Time 2 info:"); //Console.WriteLine("Start Id: " + sectionTime2.StartTimeId); //Console.WriteLine("End Id: " + sectionTime2.EndTimeId); //Console.WriteLine("Day Id: " + sectionTime2.WeekDayID); //Console.WriteLine("Room no: " + sectionTime2.RoomNo); //Console.WriteLine("Class type: " + sectionTime2.ClassType.ToString()); //Console.WriteLine("Class length: " + (sectionTime2.EndTimeId - sectionTime2.StartTimeId).ToString()); } SectionModel createdSection = new SectionModel(); try { if (!checkBoxIgnore.Checked) { sectionTime2.IsValid(); foreach (SectionTimeModel model in sectionTimes) { if (model.WeekDayId == sectionTime2.WeekDayId) { if (sectionTime2.StartTimeId < model.EndTimeId && sectionTime2.StartTimeId >= model.StartTimeId) { throw new Exception("Section 2 time clashes with another section. Please choose a different time"); } if (sectionTime2.EndTimeId <= model.EndTimeId && sectionTime2.EndTimeId > model.StartTimeId) { throw new Exception("Section 2 time clashes with another section. Please choose a different time"); } if (sectionTime2.StartTimeId < model.StartTimeId && sectionTime2.EndTimeId > model.EndTimeId) { //Console.WriteLine("Clash 3 with\nstart id: " + model.StartTimeId + "\nend id: " + model.EndTimeId); throw new Exception("Section 2 time clashes with another section. Please choose a different time"); } } } } SectionController controller = new SectionController(); try { createdSection = controller.Create(section); //Console.WriteLine("Created section id: " + createdSection.Id); sectionTime1.SectionId = createdSection.Id; if (!checkBoxIgnore.Checked) { sectionTime2.SectionId = createdSection.Id; } SectionTimeController controller2 = new SectionTimeController(); try { controller2.Create(sectionTime1); if (!checkBoxIgnore.Checked) { controller2.Create(sectionTime2); } MessageBox.Show(createdSection.SectionName + " created!"); LoadingForm loadingForm = new LoadingForm(); if (studentList.Count != 0) { UserController ucontroller = new UserController(); //loading screen loadingForm.Show(); //Console.WriteLine("Starting loop"); foreach (StudentUserModel student in studentList) { try { var createdStudent = ucontroller.Create(student); try { SectionStudentController sscontroller = new SectionStudentController(); sscontroller.Create(createdSection.Id, student.Id); } catch (SQLiteException exc) { if (exc.ErrorCode == 19) { MessageBox.Show("Error: Student already exists in this section"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (SQLiteException ex) { var existingStudent = ucontroller.GetByAcademicId(student.AcademicId); try { SectionStudentController sscontroller = new SectionStudentController(); sscontroller.Create(createdSection.Id, existingStudent.Id); } catch (SQLiteException exc) { if (exc.ErrorCode == 19) { MessageBox.Show("Error: Student already exists in this section"); } } catch (Exception exc) { MessageBox.Show(exc.Message); } } loadingForm.Step(1); } //Console.WriteLine("Ending loop"); } loadingForm.Close(); buttonBack.PerformClick(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }