public List <BaoCaoTongKetMon> GetAllBaoCaoTongKetMon()
        {
            OpenConnection();

            List <BaoCaoTongKetMon> listBaoCaoTongKetMon = new List <BaoCaoTongKetMon>();

            SqlCommand com = new SqlCommand();

            com.CommandType = CommandType.Text;
            com.CommandText = "Select * from BaoCaoTongKetMon";
            com.Connection  = conn;

            SqlDataReader reader = com.ExecuteReader();

            while (reader.Read())
            {
                string MaBCTKM  = reader.GetInt32(0) + "";
                string MaMonHoc = reader.GetString(1);
                string MaHocKy  = reader.GetString(2);
                string MaNamHoc = reader.GetString(3);


                BaoCaoTongKetMon baoCaoTongKetMon = new BaoCaoTongKetMon(MaBCTKM, MaMonHoc, MaHocKy, MaNamHoc);
                listBaoCaoTongKetMon.Add(baoCaoTongKetMon);
            }

            reader.Close();
            CloseConnection();
            return(listBaoCaoTongKetMon);
        }
        public BaoCaoTongKetMon GetBaoCaoTongKetMon(string hocky, string namhoc, string monhoc)
        {
            OpenConnection();


            SqlCommand com = new SqlCommand();

            com.CommandType = CommandType.Text;
            com.CommandText = "Select * from BaoCaoTongKetMon where mamonhoc=@monhoc and mahocky=@hocky and manamhoc=@namhoc";
            com.Parameters.Add("@monhoc", SqlDbType.VarChar).Value = monhoc;
            com.Parameters.Add("@namhoc", SqlDbType.VarChar).Value = namhoc;
            com.Parameters.Add("@hocky", SqlDbType.VarChar).Value  = hocky;
            com.Connection = conn;

            SqlDataReader    reader           = com.ExecuteReader();
            BaoCaoTongKetMon baoCaoTongKetMon = null;

            if (reader.Read())
            {
                string MaBCTKM  = reader.GetInt32(0) + "";
                string MaMonHoc = reader.GetString(1);
                string MaHocKy  = reader.GetString(2);
                string MaNamHoc = reader.GetString(3);


                baoCaoTongKetMon = new BaoCaoTongKetMon(MaBCTKM, MaMonHoc, MaHocKy, MaNamHoc);
            }

            reader.Close();
            CloseConnection();
            return(baoCaoTongKetMon);
        }
        public ErrorType TaoBaoCaoTongKetMon(string hocky, string namhoc, string monhoc)
        {
            try
            {
                OpenConnection();
            }
            catch { return(ErrorType.KHONG_THE_KET_NOI); }

            BaoCaoTongKetMon baocao = GetBaoCaoTongKetMon(hocky, namhoc, monhoc);
            //neu chua ton tai thi tao bao cao tong key mon
            string maHienTai = null;

            if (baocao == null)
            {
                //lay ra bao cao moi nhat de tao ma bao cao
                maHienTai = getMaBaoCaoMax();
                maHienTai = (Int32.Parse(maHienTai) + 1).ToString();
                ThemBaoCaoTongKetMon(maHienTai, monhoc, hocky, namhoc);
            }
            else
            {
                maHienTai = baocao.MaBCTKM;
            }

            //tao chi tiet bao cao tong ket mon tat ca cac lop co ma bctk mon nay

            CTBaoCaoTongKetMonAccess CTbaocao = new CTBaoCaoTongKetMonAccess();
            LopAccess  lopac   = new LopAccess();
            List <Lop> listLop = lopac.GetAllLop();

            foreach (Lop lop in listLop)
            {
                CTbaocao.ThemCTBaoCaoTongKetMon(maHienTai, lop.MaLop, 0, 0);
            }

            return(ErrorType.THANH_CONG);
        }