public void update(KernelLoadModifier modifier)
 {
     if (modifier == KernelLoadModifier.ALL_COURSES)
     {
         adpAllCourses.Update(setAllCourses);
     }
     if (modifier == KernelLoadModifier.STUDENT)
     {
         try
         {
             adpStudentList.Update(setStudentList);
         }catch(Exception e){
             MessageBox.Show("BUG的逆袭");
         }
     }
 }
 public void update(KernelLoadModifier modifier, CheckBox cb)
 {
     if (modifier == KernelLoadModifier.SYSTEM)
     {
         conn = getConnection();
         conn.Open();
         cmd = new MySqlCommand("UPDATE SYSTEM SET OPEN = @open", conn);
         cmd.Parameters.Add(new MySqlParameter("@open", cb.Checked == true ? 1 : 0));
         cmd.ExecuteNonQuery();
     }
 }
        public void Load(KernelLoadModifier modifier, Object control)
        {
            if (modifier == KernelLoadModifier.UNSELECTED_COURSES)
            {
                try
                {
                    DataGridView view = (DataGridView)control;
                    conn = getConnection();
                    //conn.Open();
                    cmd = new MySqlCommand(
                        "getUnselectedCourses", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new MySqlParameter("@student_id", currentUserID));

                    if (setUnselectedCourses == null)
                    {
                        setUnselectedCourses = new DataSet();
                    }
                    else
                    {
                        setUnselectedCourses.Clear();
                    }
                    adpUnselectedCourses = new MySqlDataAdapter(
                            cmd);
                    adpUnselectedCourses.Fill(setUnselectedCourses);
                    //  setUnselectedCourses.Tables.
                    view.DataSource = setUnselectedCourses;
                    view.DataMember = "Table";
                }
                finally
                {

                }
            }
            else if (modifier == KernelLoadModifier.SELECTED_COURSES)
            {
                try
                {
                    DataGridView view = (DataGridView)control;
                    conn = getConnection();
                    //conn.Open();
                    cmd = new MySqlCommand(
                        "getSelectedCourses", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new MySqlParameter("@student_id", currentUserID));

                    if (setSelectedCourses == null)
                    {
                        setSelectedCourses = new DataSet();
                    }
                    else
                    {
                        setSelectedCourses.Clear();
                    }
                    adpSelectedCourses = new MySqlDataAdapter(
                            cmd);

                    adpSelectedCourses.Fill(setSelectedCourses);
                    view.DataSource = setSelectedCourses;
                    view.DataMember = "Table";
                }
                finally
                {
                }
            }
            else if (modifier == KernelLoadModifier.DEPARTMENT)
            {

                try
                {
                    ComboBox comboBox = (ComboBox)control;
                    conn = getConnection();
                    //conn.Open();
                    cmd = new MySqlCommand(
                        "getDepartmentNames", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    if (setDepartmentNames == null)
                    {
                        setDepartmentNames = new DataSet();
                    }
                    else
                    {
                        setDepartmentNames.Clear();
                    }
                    adpDepartmentNames = new MySqlDataAdapter(
                            cmd);

                    adpDepartmentNames.Fill(setDepartmentNames);
                    comboBox.DataSource = setDepartmentNames.Tables["Table"];
                    comboBox.DisplayMember = "department_name";
                }
                finally
                {
                }
            }
            else if (modifier == KernelLoadModifier.STUDENT)
            {
                try
                {
                    DataGridView view = (DataGridView)control;
                    conn = getConnection();
                    cmd = new MySqlCommand("SELECT * FROM Student;", conn);
                    if (setStudentList == null)
                    {
                        setStudentList = new DataSet();
                    }
                    else
                    {
                        setStudentList.Clear();
                    }
                    if (adpStudentList == null)
                    {
                        adpStudentList = new MySqlDataAdapter(
                            cmd);
                    }
                    studentListCommandBuilder = new MySqlCommandBuilder(adpStudentList);
                    adpStudentList.Fill(setStudentList);
                    view.DataSource = setStudentList;
                    view.DataMember = "Table";
                }
                finally
                {
                }
            }
            else if (modifier == KernelLoadModifier.ALL_COURSES)
            {
                try
                {
                    DataGridView view = (DataGridView)control;
                    conn = getConnection();
                    cmd = new MySqlCommand("SELECT * FROM course;", conn);
                    if (setAllCourses == null)
                        setAllCourses = new DataSet();
                    else
                        setAllCourses.Clear();
                    if (adpAllCourses == null)
                        adpAllCourses = new MySqlDataAdapter(cmd);
                    courseCommandBuilder = new MySqlCommandBuilder(adpAllCourses);
                    adpAllCourses.Fill(setAllCourses);
                    view.DataSource = setAllCourses;
                    view.DataMember = "Table";
                }
                finally
                {
                }
            }
            else if (modifier == KernelLoadModifier.SYSTEM)
            {
                CheckBox cb = (CheckBox)control;
                conn = getConnection();
                cmd = new MySqlCommand("select open from system;", conn);
                conn.Open();
                MySqlDataReader reader = cmd.ExecuteReader();
                reader.Read();
                Int32 open = Convert.ToInt32(reader[0].ToString());
                if (open == 0)
                    cb.Checked = false;
                else
                    cb.Checked = true;
            }
            else if (modifier == KernelLoadModifier.COLUMN_DEPARTMENT)
            {
                DataGridViewComboBoxColumn cb = (DataGridViewComboBoxColumn)control;
                conn = getConnection();
                cmd = new MySqlCommand("select * from department;", conn);
                if (setColumnDepartment == null)
                    setColumnDepartment = new DataSet();
                else
                    setColumnDepartment.Clear();
                if (adpColumnDepartment == null)
                    adpColumnDepartment = new MySqlDataAdapter(cmd);
                adpColumnDepartment.Fill(setColumnDepartment);
                cb.DataSource = setColumnDepartment;
                cb.ValueMember = "Table.did";
                cb.DisplayMember = "Table.name";
            }
            else if (modifier == KernelLoadModifier.COLUMN_ROOM)
            {
                DataGridViewComboBoxColumn cb = (DataGridViewComboBoxColumn)control;
                conn = getConnection();
                cmd = new MySqlCommand("select * from room;", conn);
                if (setColumnRoom == null)
                    setColumnRoom = new DataSet();
                else
                    setColumnRoom.Clear();
                if (adpColumnRoom == null)
                    adpColumnRoom = new MySqlDataAdapter(cmd);
                adpColumnRoom.Fill(setColumnRoom);
                cb.DataSource = setColumnRoom;
                cb.ValueMember = "Table.rid";
                cb.DisplayMember = "Table.name";
            }
            else if (modifier == KernelLoadModifier.PERSONAL_INFORMATION)
            {
                PersonelInformation info = (PersonelInformation)control;
                conn = getConnection();
                conn.Open();
                cmd = new MySqlCommand("select student.sid as stuid, student.name as sname, department.name as dname from student join department where sid = @student_id and department.did = student.did;", conn);
                cmd.Parameters.Add(new MySqlParameter("@student_id", currentUserID));
                rdr = cmd.ExecuteReader();
                try
                {
                    while (rdr.Read())
                    {

                        info.ID.Text = (string)rdr["stuid"];
                        info.name.Text = (string)rdr["sname"];
                        info.department.Text = (string)rdr["dname"];
                        break;

                    }
                }
                catch (Exception e)
                {
                }
                finally
                {
                    if (conn != null)
                    {
                        conn.Close();
                    }
                    if (rdr != null)
                    {
                        rdr.Close();
                    }
                }
            }
            else if (modifier == KernelLoadModifier.SCHEDULE)
            {
                try
                {
                    DataGridView dg = (DataGridView)control;
                    getConnection();
                    conn.Open();
                    cmd = new MySqlCommand("select course.name, course.time, room.name from course join room join sc where sc.sid = @current_id and sc.cid = course.cid and course.rid = room.rid;", conn);
                    cmd.Parameters.Add(new MySqlParameter("@current_id", currentUserID));
                    rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        String name = rdr[0].ToString();
                        String[] time = rdr[1].ToString().Split(',');
                        String room = rdr[2].ToString();
                        for (int i = 0; i < time.Length; i++)
                        {
                            String[] tmp = time[i].Split('.');
                            int column = Convert.ToInt32(tmp[0]);
                            int row = Convert.ToInt32(tmp[1]);
                            row -= 1;
                            if (row >= 2)
                                row += 1;

                            dg.Rows[row].Cells[column].Value += (name + " " +room + " ");
                        }
                    }
                }
                finally
                {
                    if (conn != null)
                        conn.Close();
                    if (rdr != null)
                        rdr.Close();
                }
            }
        }