protected void buttonStudentSchedule_Click(object sender, EventArgs e)
        {
            //Perform validations
            Page.Validate();
            if (!Page.IsValid)
            {
                this.m_errorList.Add(BaseBusiness.ERR_MSG_VALIDATION_FAILED);
                return;
            }

            m_objDA.DownloadSchedule();
            int    number = m_objDA.SchedNumStudents();
            string line;

            line = "Institution Name,Student Name,BPRole,QuantHeat1Role,BP1,BP2,Case2H1,Case2H2,Case3H1,Case3H2,Case4H1,Case4H2\r\n";
            string path = Server.MapPath("~/CompetitionSchedule.csv");

            System.IO.File.WriteAllText(@path, line);

            for (int i = 0; i < number; i++)
            {
                DataRow row       = m_objDA.UserDataDT.Rows[i];
                int     bpheat    = Convert.ToInt32(row["BPHeat"]);
                int     bprolenum = Convert.ToInt32(row["BP"]);
                int     creditnum = Convert.ToInt32(row["Credit"]);
                int     quantnum  = Convert.ToInt32(row["Quant"]);
                int     capnum    = Convert.ToInt32(row["Cap"]);
                int     stnum     = Convert.ToInt32(row["ST"]);
                int     Algo1     = Convert.ToInt32(row["Algo1"]);
                int     Algo2     = Convert.ToInt32(row["Algo2"]);
                int     Algo3     = Convert.ToInt32(row["Algo3"]);
                int     Algo4     = Convert.ToInt32(row["Algo4"]);
                int     a1        = Convert.ToInt32(row["a1"]);
                int     a2        = Convert.ToInt32(row["a2"]);
                int     a3        = Convert.ToInt32(row["a3"]);
                int     a4        = Convert.ToInt32(row["a4"]);
                string  BP1       = "";
                string  BP2       = "";
                string  CR1       = "";
                string  CR2       = "";
                string  CAPIQ1    = "";
                string  CAPIQ2    = "";
                string  ST1       = "";
                string  ST2       = "";


                if (bpheat == 1)
                {
                    if (bprolenum != 0)
                    {
                        BP1 = "9:00 BP 1";
                    }
                    if (Algo1 == 1)
                    {
                        BP2 = "Algo " + Scheduling.AlgoTime(a1);
                    }
                }

                else     // bpheat == 2
                {
                    if (bprolenum != 0)
                    {
                        BP2 = "10:30 BP 2";
                    }
                    if (Algo1 == 1)
                    {
                        BP1 = "Algo " + Scheduling.AlgoTime(a1);
                    }
                }

                if (creditnum == 1)
                {
                    CR1 = "9:00 " + Scheduling.d2am + " 1";
                    if (Algo3 == 1)
                    {
                        CR2 = "Algo " + Scheduling.AlgoTime(a3);
                    }
                }

                else if (creditnum == 2)
                {
                    CR2 = "10:30 " + Scheduling.d2am + " 2";
                    if (Algo3 == 1)
                    {
                        CR1 = "Algo " + Scheduling.AlgoTime(a3);
                    }
                }

                else     // not participating in CR
                {
                    if (Algo3 == 1)
                    {
                        if (Scheduling.Algo3Conflict(a3) == 1)     // algo during CR 1
                        {
                            CR1 = "Algo " + Scheduling.AlgoTime(a3);
                        }

                        else     // algo during CR 2
                        {
                            CR2 = "Algo " + Scheduling.AlgoTime(a3);
                        }
                    }
                }

                if (capnum == 1)
                {
                    CAPIQ1 = "1:00 " + Scheduling.d1pm + " 1";
                    if (Algo2 == 1)
                    {
                        CAPIQ2 = "Algo " + Scheduling.AlgoTime(a2);
                    }
                }

                else if (capnum == 2)
                {
                    CAPIQ2 = "2:30 " + Scheduling.d1pm + " 2";
                    if (Algo2 == 1)
                    {
                        CAPIQ1 = "Algo " + Scheduling.AlgoTime(a2);
                    }
                }

                else     // not participating in CAP
                {
                    if (Algo2 == 1)
                    {
                        if (Scheduling.Algo2Conflict(a2) == 1)     // algo during Cap 1
                        {
                            CAPIQ1 = "Algo " + Scheduling.AlgoTime(a2);
                        }

                        else     // algo during CAP 2
                        {
                            CAPIQ2 = "Algo " + Scheduling.AlgoTime(a2);
                        }
                    }
                }

                if (stnum == 1)
                {
                    ST1 = "1:00 " + Scheduling.d2pm + " 1";
                    if (Algo4 == 1)
                    {
                        ST2 = "Algo " + Scheduling.AlgoTime(a4);
                    }
                }

                else if (stnum == 2)
                {
                    ST2 = "2:30 " + Scheduling.d2pm + " 2";
                    if (Algo4 == 1)
                    {
                        ST1 = "Algo " + Scheduling.AlgoTime(a4);
                    }
                }

                else     // not participating in ST
                {
                    if (Algo4 == 1)
                    {
                        if (Scheduling.Algo4Conflict(a4) == 1)     // algo during ST 1
                        {
                            ST1 = "Algo " + Scheduling.AlgoTime(a4);
                        }

                        else     // algo duringST 2
                        {
                            ST2 = "Algo " + Scheduling.AlgoTime(a4);
                        }
                    }
                }



                line = Convert.ToString(row["SchoolName"]) + "," + Convert.ToString(row["FullName"]) + "," + BPRoleName(bprolenum) + "," + QuantRoleName(quantnum) + "," + BP1 + "," + BP2 + "," + CAPIQ1 + "," + CAPIQ2 + "," + CR1 + "," + CR2 + "," + ST1 + "," + ST2;
                using (System.IO.StreamWriter file =
                           new System.IO.StreamWriter(@path, true))
                {
                    file.WriteLine(line);
                }
            }
            this.lblUserMessage.Text = "Student Schedule CSV File Saved";
        }