예제 #1
0
        public static void AddTermData(ITermStorable objectToAddTo, UniversityYear universtiyYear, bool Debug)
        {
            SchoolTerm newTerm1 = new SchoolTerm(1, new DateTime(2014, 3, 3), universtiyYear, Debug);

            newTerm1.universityTerm = universtiyYear.GetUniTerm(newTerm1.TermNumber);
            objectToAddTo.AddTerm(newTerm1);
            SchoolTerm newTerm2 = new SchoolTerm(2, new DateTime(2014, 5, 5), universtiyYear, Debug);

            newTerm2.universityTerm = universtiyYear.GetUniTerm(newTerm2.TermNumber);
            objectToAddTo.AddTerm(newTerm2);
            SchoolTerm newTerm3 = new SchoolTerm(3, new DateTime(2014, 7, 14), universtiyYear, Debug);

            newTerm3.universityTerm = universtiyYear.GetUniTerm(newTerm3.TermNumber);
            objectToAddTo.AddTerm(newTerm3);
            SchoolTerm newTerm4 = new SchoolTerm(4, new DateTime(2014, 9, 8), universtiyYear, Debug);

            newTerm4.universityTerm = universtiyYear.GetUniTerm(newTerm4.TermNumber);
            objectToAddTo.AddTerm(newTerm4);
        }
예제 #2
0
        public Course2(string CourseCode, bool Debug)
            : base(CourseCode)
        {
            if (!VictoriaUniversity.Course.CheckCourseCode(CourseCode))
            {
                throw new CourseNotValid();
            }
            if (Debug)
            {
                SetToDebug();
            }
            uri = new Uri("http://www.victoria.ac.nz/courses/" + CourseCode.Substring(0, 4).ToLower() + "/" + CourseCode.Substring(4, 3) + "?year=2014");
            Console.WriteLine(uri);
            client.DownloadFile(uri, CourseCode + ".htm");
            doc.Load(CourseCode + ".htm");
            SchoolTerm.AddTermData(this, this.GetUniversityYear(), debug);
            cs = chooseCRN(this);
            printNodes("//section/div/h3", "Trimester");
            List <ScreenScrapedInfo> tempList       = printNodes("//p", "Teaching dates");
            List <ScreenScrapedInfo> LectureDatails = printNodes("//ol/li/h6/div");

            foreach (SchoolTerm st in copyOfSchoolTerms)
            {
                st.SetLineNumberRange(tempList, startingLinePosition, endingLinePosition);
                allLectureTimes.AddRange(CreateLectureTime(st.ReturnScreenScrapedInfoInTermRange(LectureDatails), st));
            }
            if (debug)
            {
                Console.WriteLine("==Debug==");
                Console.WriteLine("Print out SchoolTerms:");
                foreach (SchoolTerm st in copyOfSchoolTerms)
                {
                    Console.WriteLine(st.ToString());
                    Console.WriteLine("==" + st.TermStartDate.ToLongDateString() + "==");
                }
            }
            Console.WriteLine("Lecture times added:");
            foreach (LectureTime lt in allLectureTimes)
            {
                Console.WriteLine(lt.ToString());
            }
        }
예제 #3
0
 public void AddTerm(SchoolTerm schoolTerm)
 {
     copyOfSchoolTerms.Add(schoolTerm);
 }
예제 #4
0
        private List <LectureTime> CreateLectureTime(List <ScreenScrapedInfo> infoToUse, SchoolTerm st)
        {
            List <LectureTime>       addedLectureTimes = new List <LectureTime>();
            List <ScreenScrapedInfo> threeStringsToUse = infoToUse.Where(wh => nodeInEstablishedRange(wh.lineNumber)).ToList();
            DateTime startTime   = new DateTime(2014, 1, 1, 8, 30, 0);
            DateTime endTime     = new DateTime(2014, 1, 1, 8, 30, 0);
            int      dayOfDaWeek = 1;
            string   roomName    = "No room";

            foreach (ScreenScrapedInfo sci in threeStringsToUse.OrderBy(oo => oo.lineNumber))
            {
                if (sci.lineString.StartsWith("Monday"))
                {
                    dayOfDaWeek = 1;
                }
                else if (sci.lineString.StartsWith("Tuesday"))
                {
                    dayOfDaWeek = 2;
                }
                else if (sci.lineString.StartsWith("Wednesday"))
                {
                    dayOfDaWeek = 3;
                }
                else if (sci.lineString.StartsWith("Thursday"))
                {
                    dayOfDaWeek = 4;
                }
                else if (sci.lineString.StartsWith("Friday"))
                {
                    dayOfDaWeek = 5;
                }
                else
                {
                    try
                    {
                        int startHour   = int.Parse(sci.lineString.Substring(0, 2));
                        int startMinute = int.Parse(sci.lineString.Substring(3, 2));
                        int endHour     = int.Parse(sci.lineString.Substring(8, 2));
                        int endMinute   = int.Parse(sci.lineString.Substring(11, 2));
                        startTime = new DateTime(2014, 1, 1, startHour, startMinute, 0);
                        endTime   = new DateTime(2014, 1, 1, endHour, endMinute, 0);
                        if (debug)
                        {
                            Console.WriteLine("Lecture starts " + startTime.ToLongTimeString());
                            Console.WriteLine("Lecture ends " + endTime.ToLongTimeString());
                        }
                    }
                    catch (FormatException fx)
                    {
                        if (debug)
                        {
                            Console.WriteLine("=============");
                            Console.WriteLine(fx.Message + " " + sci.lineString);
                        }
                        roomName = sci.lineString;
                        addedLectureTimes.Add(new LectureTime(cs, st.universityTerm, roomName, dayOfDaWeek, startTime, endTime));
                    }
                }
                if (debug)
                {
                    Console.WriteLine("Success on " + sci.lineString);
                }
                //new LectureTime(startTime, endTime, roomName, dayOfDaWeek, newCourse);
                infoToUse.Remove(sci);
            }
            if (debug)
            {
                Console.WriteLine("+++ print all added lecture times +++");
                foreach (LectureTime lt in addedLectureTimes)
                {
                    Console.WriteLine(lt.ToString());
                }
            }
            return(addedLectureTimes);
        }