Пример #1
0
        //private readonly HeaderColumn Phone;

        public Course(string RawHTML, string InstructorName, string CourseName,
                      string ItemNumber, string YRQ, string QuarterName, ExcelClassSettings ExcelClassSettings)
        {
            SchoolHeaders     = new OptionHeaders();
            StrInstructorName = InstructorName;
            StrCourseName     = CourseName;
            StrItemNumber     = ItemNumber;
            StrYRQ            = YRQ;
            StrQuarterName    = QuarterName;
            // Set to export
            blnExport = true;

            if (RawHTML != "")
            {
                ExtractValue EV = new ExtractValue();
                StrTitle   = EV.FromJavaScript(RawHTML, "title", "'", "'");
                StrSection = EV.FromJavaScript(RawHTML, "sect", "'", "'");
                StrCredits = EV.FromJavaScript(RawHTML, "credit", "'", "'");

                StrRoom      = EV.FromJavaScript(RawHTML, "room", "'", "'");
                StrStartTime = EV.FromJavaScript(RawHTML, "strtTime", "'", "'");
                StrEndTime   = EV.FromJavaScript(RawHTML, "endTime", "'", "'");
                StrDays      = EV.FromJavaScript(RawHTML, "days", "'", "'");
                StrStartDate = EV.FromJavaScript(RawHTML, "strtDate", "'", "'");
                StrTenthDate = EV.FromJavaScript(RawHTML, "tenDay", "'", "'");

                StrOpt1Header  = EV.FromJavaScript(RawHTML, "optHead1", "'", "'");
                StrOpt2Header  = EV.FromJavaScript(RawHTML, "optHead2", "'", "'");
                StrOpt3Header  = EV.FromJavaScript(RawHTML, "optHead3", "'", "'");
                StrOptWlHeader = EV.FromJavaScript(RawHTML, "optWLHead", "'", "'");

                if (SaveOptionHeader)
                {
                    ExcelClassSettings.HeaderNames.Header1        = StrOpt1Header;
                    ExcelClassSettings.HeaderNames.Header2        = StrOpt2Header;
                    ExcelClassSettings.HeaderNames.Header3        = StrOpt3Header;
                    ExcelClassSettings.HeaderNames.WaitListHeader = StrOptWlHeader;
                    SaveOptionHeader = false;
                }

                int Count = Convert.ToInt32(EV.FromJavaScript(RawHTML, "totStu", "'", "'"));
                myStudents = new Student[Count];

                Count      = Convert.ToInt32(EV.FromJavaScript(RawHTML, "totStuWl", "'", "'"));
                myWaitlist = new Student[Count];

                // Extract all students from RawHTML
                ProcessStudentsFromHTML(RawHTML, ExcelClassSettings.HeaderNames);
            }
        }
Пример #2
0
        private void ProcessStudentsFromHTML(string RawHTML, OptionHeaders HeaderNames)
        {
            RawHTML = RawHTML.Replace("<BR>", " ").Replace("<BR/>", " ").Replace("<br>", " ").Replace("<br/>", " ");
            int    HTMLStart = RawHTML.IndexOf(JavaStudentListVariable);
            int    Count     = 0;
            string temp;

            // Class
            // function stuLine( sid, name, enrCredit, gr, opt1, opt2, opt3 )
            do
            {
                int    StudentStart = RawHTML.IndexOf("(", HTMLStart);
                int    StudentEnd   = RawHTML.IndexOf(");", StudentStart + 45); // added ; on 12-16-2019 to prevent the ending to be accepted as part of the name
                string Student      = RawHTML.Substring(StudentStart, StudentEnd - StudentStart);
                //stuLine( sid, name, enrCredit, gr, Opt1, Opt2, Opt3 )
                StudentStart      = Student.IndexOf("'") + 1;
                StudentEnd        = Student.IndexOf("'", StudentStart + 1);
                myStudents[Count] = new Student()
                {
                    SID        = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim(),
                    Opt1Header = HeaderNames.Header1,
                    Opt2Header = HeaderNames.Header2,
                    Opt3Header = HeaderNames.Header3,
                };

                StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                myStudents[Count].ExtractedName = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();

                StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                myStudents[Count].EnrolledCredit = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();

                StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                temp         = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();
                if (temp != "&nbsp")
                {
                    myStudents[Count].gr = temp;
                }
                else
                {
                    myStudents[Count].gr = "";
                }

                StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                temp         = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();
                if (temp != "&nbsp")
                {
                    myStudents[Count].Opt1 = temp;
                }
                else
                {
                    myStudents[Count].Opt1 = "";
                }

                StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                temp         = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();
                if (temp != "&nbsp")
                {
                    myStudents[Count].Opt2 = temp;
                }
                else
                {
                    myStudents[Count].Opt2 = "";
                }

                StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                // fixed change in HTML as the studetn email has been added.
                if ((StudentEnd - StudentStart) > 0)
                {
                    temp = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();

                    if (temp != "&nbsp")
                    {
                        myStudents[Count].Opt3  = temp;
                        myStudents[Count].Email = temp;
                    }
                    else
                    {
                        myStudents[Count].Opt3 = "";
                    }
                }
                Count    += 1;
                HTMLStart = RawHTML.IndexOf(JavaStudentListVariable, HTMLStart + 1);
            } while (HTMLStart > 0);

            // Waitlist
            //  function classLn( sid, name, status,  datetime, opt3 )
            HTMLStart = RawHTML.IndexOf(JavaWaitListVariable);
            Count     = 0;

            if (HTMLStart > 0)
            {
                do
                {
                    int    StudentStart = RawHTML.IndexOf("(", HTMLStart);
                    int    StudentEnd   = RawHTML.IndexOf(")", StudentStart);
                    string Student      = RawHTML.Substring(StudentStart, StudentEnd - StudentStart);
                    //stuLine( sid, name, W-Listed, Date, email)
                    StudentStart      = Student.IndexOf("'") + 1;
                    StudentEnd        = Student.IndexOf("'", StudentStart + 1);
                    myWaitlist[Count] = new Student()
                    {
                        SID = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim(),
                        Opt3WaitlistHeader = HeaderNames.WaitListHeader
                    };

                    StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                    StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                    myWaitlist[Count].ExtractedName = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();

                    StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                    StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                    myWaitlist[Count].WaitlistStatus = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();

                    StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                    StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                    myWaitlist[Count].WaitlistDate = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();

                    StudentStart = Student.IndexOf("'", StudentEnd + 1) + 1;
                    StudentEnd   = Student.IndexOf("'", StudentStart + 1);
                    // fixed change in HTML as the student email has been added.
                    if ((StudentEnd - StudentStart) > 0)
                    {
                        temp = Student.Substring(StudentStart, StudentEnd - StudentStart).Trim();

                        if (temp != "&nbsp")
                        {
                            myWaitlist[Count].Opt3Waitlist = temp;
                            myWaitlist[Count].Email        = temp;
                        }
                        else
                        {
                            myWaitlist[Count].Opt3 = "";
                        }
                    }
                    Count    += 1;
                    HTMLStart = RawHTML.IndexOf(JavaWaitListVariable, HTMLStart + 1);
                } while (HTMLStart > 0);
            }
        }
Пример #3
0
 public ExcelClassSettings()
 {
     MyTemplateDirectory = new MyDirectory();
     MySaveAsDirectory   = new MyDirectory();
     HeaderNames         = new OptionHeaders();
 }