protected bool Check_All_Scheduled() { ExamCompononent_List ecl1 = new ExamCompononent_List(); ecl1.LoadAllComponents_NotScheduled(Year.ToString(), SeasonCode.ToString()); if (ecl1.m_count == 0) { return(true); } return(false); }
public bool UpdateTimetable(string Year, int Seasoncode, ref string ErrorS) { //true if succeeds // add scheduled components for any components not scheduled... //TODO also delete any withdrawn.... ExamConversions u = new ExamConversions(); string Season = u.GetSeasonString(Seasoncode); ExamCompononent_List ecl1 = new ExamCompononent_List(); ecl1.LoadAllComponents_NotScheduled(Year, Season); if (ecl1.m_count == 0) { ErrorS = "All Entries already scheduled..."; return(true); } ecl1.LoadAllComponents(Year, Season); Encode en = new Encode(); string s = ""; ScheduledComponent sched1 = new ScheduledComponent(); s = ""; int n = 0; DateTime d1 = new DateTime(); foreach (ExamComponent ec in ecl1.m_list) { ExamLinkComponent_List elcl1 = new ExamLinkComponent_List(); elcl1.LoadList_Component(ec.m_ComponentID); foreach (ExamLinkComponent elc in elcl1.m_list) { ExamEntries_List exl1 = new ExamEntries_List(); //now need all entries for this option..... exl1.Load_Option(elc.m_OptionId); n += exl1.m_list.Count; } } foreach (ExamComponent ec in ecl1.m_list) { if (ec.m_Timetabled == "T") { d1 = ec.m_TimetableDate; if (ec.m_TimetableSession == "A") { d1 = d1.AddHours(8); d1 = d1.AddMinutes(50); } else { d1 = d1.AddHours(13); d1 = d1.AddMinutes(40); } //need to find all entries that use this component..... ExamLinkComponent_List elcl1 = new ExamLinkComponent_List(); elcl1.LoadList_Component(ec.m_ComponentID); foreach (ExamLinkComponent elc in elcl1.m_list) { ExamEntries_List exl1 = new ExamEntries_List(); //now need all entries for this option..... exl1.Load_Option(elc.m_OptionId); foreach (Exam_Entry ex in exl1.m_list) { if (!ex.m_withdrawn) { sched1.Load(ec.m_ComponentID, ex.m_StudentID); if (!sched1.m_valid) { sched1.m_StudentId = ex.m_StudentID; sched1.m_ComponentId = ec.m_ComponentID; sched1.m_RoomId = Guid.Empty; sched1.m_Year = Year; sched1.m_Season = Season; sched1.m_valid = true; sched1.m_Date = d1; sched1.m_Desk = ""; sched1.m_Will_Type = false;// do these later... sched1.Save(); } } else { sched1.Load(ec.m_ComponentID, ex.m_StudentID); if (sched1.m_valid) { //need to delete sched1.Delete(); } } } } } } //now ought to update the willtype fields to agree with the cantype entry.. //oohhh this is going to be messy..... //read from a querry..... then update Exams_Scheduled_components... CanTypeList typists = new CanTypeList(); foreach (Guid g in typists.m_List) { s = "UPDATE dbo.tbl_Exams_ScheduledComponents SET WillType =1 WHERE (StudentId = '" + g.ToString() + "' )AND (Year='" + Year + "' ) AND (Season ='" + Season + "' )"; en.ExecuteSQL(s); } return(true); }