Example #1
0
        //get thong tin mo chuyen de theo ma nganh
        public List <THONGTINMOCHUYENDE> GetAllByMaNganh(string maN)
        {
            //List<THONGTINDANGKY> ttDK = ThongTinDangKyBUS

            List <THONGTINMOCHUYENDE> thongTinMoChuyenDes = new List <THONGTINMOCHUYENDE>();
            string query = "select * from THONGTINMOCHUYENDE t where t.MaChuyenDe in " +
                           "(select cd.MaChuyenDe from CHUYENDE cd where cd.MaNganh = @maN )";

            object[] para = new object[]
            {
                maN
            };
            DataTable data = DataProvider.Instance.ExecuteQuery(query, para);

            foreach (DataRow item in data.Rows)
            {
                string             maThongTinMoChuyenDe = item["maThongTinMoChuyenDe"].ToString();
                int                hocKy      = (int)item["hocKy"];
                string             nienHoc    = item["nienHoc"].ToString();
                string             maGiaoVu   = item["maGiaoVu"].ToString();
                string             maChuyenDe = item["maChuyenDe"].ToString();
                bool               trangThai  = (bool)item["TrangThai"];
                THONGTINMOCHUYENDE ttmcd      = new THONGTINMOCHUYENDE(maThongTinMoChuyenDe, hocKy, nienHoc, maGiaoVu, maChuyenDe, trangThai);
                thongTinMoChuyenDes.Add(ttmcd);
            }
            return(thongTinMoChuyenDes);
        }
Example #2
0
        private void cbMaDKChuyenDe_SelectedIndexChanged(object sender, EventArgs e)
        {
            //lấy thông tin đăng ký
            THONGTINDANGKY thongTDK = ThongTinDangKyBUS.Instance.GetByID(cbMaDKChuyenDe.Text);

            MaLop  = thongTDK.maLop;
            MaMoCD = thongTDK.maThongTimMoChuyenDe;
            //lấy Thongtinmochuyende từ đăng ký
            THONGTINMOCHUYENDE ttMoCD = ThongTinMoChuyenDeBUS.Instance.GetByID(thongTDK.maThongTimMoChuyenDe);

            //lấy ma chuyen de tu thong tin mo chuyen de
            lblMaChuyenDe.Text = ChuyenDeBUS.Instance.GetByID(ttMoCD.maChuyenDe).maCDe;
            //lấy dữ liệu tên chuyen de:
            lblTenChuyenDe.Text = ChuyenDeBUS.Instance.GetByID(ttMoCD.maChuyenDe).tenCDe;

            //mã lớp học
            lblMaLop.Text = thongTDK.maLop;

            //học kỳ
            lblHocKi.Text = ttMoCD.hocKy.ToString();
            //niên học
            lblNienKhoa.Text = ttMoCD.nienHoc;
            //thông tin thêm thành vien
            cbxMaSVDK.DataSource = ThongTinDangKyBUS.Instance.GetMaSVByIDMoCD(thongTDK.maThongTimMoChuyenDe);
            //tên của thêm thành viên
            lblTenSVDK.Text = SinhVienBUS.Instance.GetByID(cbxMaSVDK.Text).tenSinhVien;
        }
Example #3
0
        public bool updateThongTinMoChuyenDe(DataGridView data)
        {
            DataGridViewRow    row = data.SelectedCells[0].OwningRow;
            string             MaThongTinMoChuyenDe = row.Cells["MaThongTinMoChuyenDe"].Value.ToString();
            int                HocKy      = (int)row.Cells["HocKy"].Value;
            string             NienHoc    = row.Cells["NienHoc"].Value.ToString();
            string             MaGiaoVu   = row.Cells["MaGiaoVu"].Value.ToString();
            string             MaChuyenDe = row.Cells["MaChuyenDe"].Value.ToString();
            bool               trangThai  = (bool)row.Cells["TrangThai"].Value;
            THONGTINMOCHUYENDE ttmcd      = new THONGTINMOCHUYENDE(MaThongTinMoChuyenDe, HocKy, NienHoc, MaGiaoVu, MaChuyenDe, trangThai);

            return(ThongTinMoChuyenDeDAO.Instance.updateThongTinMoChuyenDe(MaThongTinMoChuyenDe, ttmcd));
        }
        private void btnDangKy_Click(object sender, EventArgs e)
        {
            SINHVIEN sv = SinhVienBUS.Instance.GetByID(_maSV);

            if (HaveCheck())
            {
                //
                bool kq = false;
                foreach (DataGridViewRow row in dgvChuyenDe.Rows)
                {
                    DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells[0];
                    if (chk.Value == chk.TrueValue)
                    {
                        string maDK  = ThongTinDangKyBUS.Instance.CreateMaDK();
                        string masv  = sv.maSinhVien;
                        string maLop = row.Cells[1].Value.ToString();
                        string maCD  = row.Cells[2].Value.ToString();

                        THONGTINMOCHUYENDE ttmcd = ThongTinMoChuyenDeBUS.Instance.GetMoChuyenDeByMaCD(maCD);
                        int    hkCheck           = ttmcd.hocKy;
                        string nienHocCheck      = ttmcd.nienHoc;

                        int soLuongDaDangKy = ThongTinDangKyBUS.Instance.countByMSSV_HK_NienHoc(_maSV, hkCheck, nienHocCheck);

                        if (soLuongDaDangKy >= 3)
                        {
                            MessageBox.Show("Chỉ được đăng ký tối đa 3 chuyên đề trong một học kỳ niên học");
                        }
                        else
                        {
                            THONGTINMOCHUYENDE temp = ThongTinMoChuyenDeBUS.Instance.GetMoChuyenDeByMaCD(maCD);

                            THONGTINDANGKY ttDK = new THONGTINDANGKY(maDK, masv, temp.maThongTinMoChuyenDe, maLop);
                            //insert
                            kq = ThongTinDangKyBUS.Instance.Insert(ttDK);
                        }
                    }
                }
                if (kq == true)
                {
                    btnDangKy.Enabled = false;
                    MessageBox.Show("Bạn Đã Đăng Ký thành công!");
                }
            }
            else
            {
                MessageBox.Show("Đã Đăng ký hoặc chưa chọn đăng ký!!", "Thông Báo");
            }
        }
Example #5
0
        // lấy thông tin mở chuyên đề dựa vào MaThongTinMoChuyenDe
        public THONGTINMOCHUYENDE GetByID(string MaTTMCDe)
        {
            string query = "select MaThongTinMoChuyenDe, HocKy, NienHoc, MaGiaoVu, MaChuyenDe, TrangThai " +
                           "from ThongTinMoChuyenDe where MaThongTinMoChuyenDe = @MaTTMCDe ";
            DataTable data = DataProvider.Instance.ExecuteQuery(query, new object[] { MaTTMCDe });
            DataRow   item = data.Rows[0];

            string             maThongTinMoChuyenDe = item["MaThongTinMoChuyenDe"].ToString();
            int                hocKy      = (int)item["HocKy"];
            string             nienHoc    = item["NienHoc"].ToString();
            string             maGiaoVu   = item["MaGiaoVu"].ToString();
            string             maChuyenDe = item["MaChuyenDe"].ToString();
            bool               trangThai  = (bool)item["TrangThai"];
            THONGTINMOCHUYENDE ttmcd      = new THONGTINMOCHUYENDE(maThongTinMoChuyenDe, hocKy, nienHoc, maGiaoVu, maChuyenDe, trangThai);

            return(ttmcd);
        }
Example #6
0
        // hàm lấy thông tin mở chuyên đề cuối cùng
        public THONGTINMOCHUYENDE GetThongTinMoChuyenDeLast()
        {
            string query = "SELECT TOP 1 * FROM THONGTINMOCHUYENDE ORDER BY MaThongTinMoChuyenDe DESC ";

            DataTable data = DataProvider.Instance.ExecuteQuery(query);

            DataRow            item      = data.Rows[0];
            string             maTTMCD   = item["MaThongTinMoChuyenDe"].ToString();
            int                hocKy     = (int)item["HocKy"];
            string             nienHoc   = item["NienHoc"].ToString();
            string             maGVu     = item["MaGiaoVu"].ToString();
            string             maCDe     = item["MaChuyenDe"].ToString();
            bool               trangThai = (bool)item["TrangThai"];
            THONGTINMOCHUYENDE ttmcd     = new THONGTINMOCHUYENDE(maTTMCD, hocKy, nienHoc, maGVu, maCDe, trangThai);

            return(ttmcd);
        }
Example #7
0
        // thêm một thông tin mở chuyên đề
        public bool insertThongTinMoChuyenDe(THONGTINMOCHUYENDE ttmcd)
        {
            string query = "insert into ThongTinMoChuyenDe values( @maThongTinMoChuyenDe ,  @hocKy , @nienHoc , @maGiaoVu , @maChuyenDe , @trangThai )";

            object[] para = new object[]
            {
                ttmcd.maThongTinMoChuyenDe,
                ttmcd.hocKy,
                ttmcd.nienHoc,
                ttmcd.maGiaoVu,
                ttmcd.maChuyenDe,
                ttmcd.trangThai
            };
            if (DataProvider.Instance.ExecuteNonQuery(query, para) > 0)
            {
                return(true);
            }
            return(false);
        }
Example #8
0
        public List <THONGTINMOCHUYENDE> GetAll()
        {
            List <THONGTINMOCHUYENDE> thongTinMoChuyenDes = new List <THONGTINMOCHUYENDE>();
            string    query = "select * from ThongTinMoChuyenDe";
            DataTable data  = DataProvider.Instance.ExecuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                string             maThongTinMoChuyenDe = item["maThongTinMoChuyenDe"].ToString();
                int                hocKy      = (int)item["hocKy"];
                string             nienHoc    = item["nienHoc"].ToString();
                string             maGiaoVu   = item["maGiaoVu"].ToString();
                string             maChuyenDe = item["maChuyenDe"].ToString();
                bool               trangThai  = (bool)item["TrangThai"];
                THONGTINMOCHUYENDE ttmcd      = new THONGTINMOCHUYENDE(maThongTinMoChuyenDe, hocKy, nienHoc, maGiaoVu, maChuyenDe, trangThai);
                thongTinMoChuyenDes.Add(ttmcd);
            }
            return(thongTinMoChuyenDes);
        }
Example #9
0
        private void frmKetQuaDangKyNhom_Load(object sender, EventArgs e)
        {
            SINHVIEN SV = SinhVienBUS.Instance.GetByID(_maSV);

            lblMaSinhVien.Text        = SV.maSinhVien;
            lblHoTen.Text             = SV.tenSinhVien;
            cbMaDKChuyenDe.DataSource = ThongTinDangKyBUS.Instance.GetMaDangKyByIDSV(SV.maSinhVien);

            THONGTINDANGKY thongTDK = ThongTinDangKyBUS.Instance.GetByID(cbMaDKChuyenDe.Text);

            MaLop  = thongTDK.maLop;
            MaMoCD = thongTDK.maThongTimMoChuyenDe;
            //lấy Thongtinmochuyende từ đăng ký
            THONGTINMOCHUYENDE ttMoCD = ThongTinMoChuyenDeBUS.Instance.GetByID(thongTDK.maThongTimMoChuyenDe);

            //lấy ma chuyen de tu thong tin mo chuyen de
            lblMaChuyenDe.Text = ChuyenDeBUS.Instance.GetByID(ttMoCD.maChuyenDe).maCDe;
            //lấy dữ liệu tên chuyen de:
            lblTenChuyenDe.Text = ChuyenDeBUS.Instance.GetByID(ttMoCD.maChuyenDe).tenCDe;

            //mã lớp học
            lblMaLop.Text = thongTDK.maLop;
            //ma nhom
            //THANHVIEN nhom = ThanhVienBUS.Instance.GetByIDDK(cbMaDKChuyenDe.Text);
            if (ThanhVienBUS.Instance.GetByIDDK(cbMaDKChuyenDe.Text) == null)
            {
                lblMaNhom.Text            = "Chưa Đăng Ký";
                lblTenNhom.Text           = "Chưa Đăng Ký";
                dgvDSThanhVien.DataSource = null;
            }
            else
            {
                NHOM nhom = NhomBUS.Instance.GetByID(ThanhVienBUS.Instance.GetByIDDK(cbMaDKChuyenDe.Text).maNhom);
                lblMaNhom.Text                       = nhom.maNhom;
                lblTenNhom.Text                      = nhom.tenNhom;
                dgvDSThanhVien.DataSource            = ThanhVienBUS.Instance.GetTVbyNhom(nhom.maNhom);
                dgvDSThanhVien.Columns[0].HeaderText = "MSSV";
                dgvDSThanhVien.Columns[1].HeaderText = "Họ và tên";
                dgvDSThanhVien.Columns[2].HeaderText = "Vai trò";
            }
        }
Example #10
0
        public THONGTINMOCHUYENDE GetByMaCD(string maCD)
        {
            string query = "SELECT * FROM THONGTINMOCHUYENDE where MaChuyenDe = @maCD ";

            object[] para = new object[]
            {
                maCD
            };
            DataTable data = DataProvider.Instance.ExecuteQuery(query, para);

            DataRow            item      = data.Rows[0];
            string             maTTMCD   = item["MaThongTinMoChuyenDe"].ToString();
            int                hocKy     = (int)item["HocKy"];
            string             nienHoc   = item["NienHoc"].ToString();
            string             maGVu     = item["MaGiaoVu"].ToString();
            string             maCDe     = item["MaChuyenDe"].ToString();
            bool               trangThai = (bool)item["TrangThai"];
            THONGTINMOCHUYENDE ttmcd     = new THONGTINMOCHUYENDE(maTTMCD, hocKy, nienHoc, maGVu, maCDe, trangThai);

            return(ttmcd);
        }
Example #11
0
        // cập nhật thông tin chuyên đề dựa vào MaThongTinMoChuyenDe
        public bool updateThongTinMoChuyenDe(string MaTTMCDe, THONGTINMOCHUYENDE ttmcd)
        {
            string query = "update ThongTinMoChuyenDe " +
                           "set HocKy = @hocKy , NienHoc = @nienHoc , MaGiaoVu = @maGiaoVu , MaChuyenDe = @maChuyenDe " +
                           "where MaThongTinMoChuyenDe = @maThongTinMoChuyenDe ";

            object[] para = new object[]
            {
                ttmcd.maThongTinMoChuyenDe,
                ttmcd.hocKy,
                ttmcd.nienHoc,
                ttmcd.maGiaoVu,
                ttmcd.maChuyenDe
            };

            if (DataProvider.Instance.ExecuteNonQuery(query, para) > 0)
            {
                return(true);
            }
            return(false);
        }
        private void frmDangKyChuyenDe_Load(object sender, EventArgs e)
        {
            SINHVIEN sv = SinhVienBUS.Instance.GetByID(_maSV);

            //SinhVienBUS.Instance.GetAll(dgvChuyenDe);
            lblMaSV.Text = sv.maSinhVien;
            lblTen.Text  = sv.tenSinhVien;
            // tạo checkbox
            DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn();

            CheckboxColumn.TrueValue  = true;
            CheckboxColumn.FalseValue = false;
            CheckboxColumn.Width      = 20;
            dgvChuyenDe.Columns.Add(CheckboxColumn);
            //tạo combox
            DataGridViewComboBoxColumn dgvCmb = new DataGridViewComboBoxColumn();

            dgvCmb.HeaderText = "MaLop";

            dgvCmb.Items.Add("L1");
            dgvCmb.Items.Add("L2");
            dgvCmb.Items.Add("L3");
            dgvCmb.Items.Add("L4");
            dgvCmb.Items.Add("L5");
            dgvCmb.Name = "cmbMaLop";
            dgvChuyenDe.Columns.Add(dgvCmb);

            //lấy các chuyen de mở theo ngành
            string maN = sv.maNganh;

            dgvChuyenDe.DataSource = ChuyenDeBUS.Instance.ChuyenDeMo(maN);


            //mặc định cho lớp là L1
            foreach (DataGridViewRow row in dgvChuyenDe.Rows)
            {
                if (row.Cells[1].Value == null)
                {
                    row.Cells[1].Value = "L1";
                }
            }

            string maCD;
            //kiểm tra đã đăng ký hay chưa
            List <THONGTINDANGKY> ThongTins = ThongTinDangKyBUS.Instance.GetAllByIDSV(sv.maSinhVien);

            foreach (DataGridViewRow row in dgvChuyenDe.Rows)
            {
                //string masv = sv.maSinhVien;
                //string maLop = row.Cells[1].Value.ToString();
                maCD = row.Cells[2].Value.ToString();
                //lay thong tin mo chuyen de cho chuyen de với trang thái đang mo
                THONGTINMOCHUYENDE temp = ThongTinMoChuyenDeBUS.Instance.GetMoChuyenDeByMaCD(maCD);
                foreach (THONGTINDANGKY ThongT in ThongTins)
                {
                    if (temp.maThongTinMoChuyenDe == ThongT.maThongTimMoChuyenDe)
                    {
                        row.Cells[0].ReadOnly          = true;
                        row.DefaultCellStyle.BackColor = Color.Red;
                    }
                }
            }
            //lblhocky, lbl nien hoa
            DataGridViewRow    rowT  = dgvChuyenDe.Rows[0];
            string             maCDT = rowT.Cells[2].Value.ToString();
            THONGTINMOCHUYENDE tp    = ThongTinMoChuyenDeBUS.Instance.GetMoChuyenDeByMaCD(maCDT);

            lblHocKi.Text    = tp.hocKy.ToString();
            lblNienKhoa.Text = tp.nienHoc;
        }
Example #13
0
        public bool insertThongTinMoChuyenDe(string maTTMCDe, int hocKy, string nienHoc, string maGV, string maCD, bool trangthai)
        {
            THONGTINMOCHUYENDE ttmcd = new THONGTINMOCHUYENDE(maTTMCDe, hocKy, nienHoc, maGV, maCD, trangthai);

            return(ThongTinMoChuyenDeDAO.Instance.insertThongTinMoChuyenDe(ttmcd));
        }
Example #14
0
        private void btnHuyDangKy_Click(object sender, EventArgs e)
        {
            // lấy vị trí dòng đang chọn
            int rowIndex = dgvKetQuaDangKy.CurrentCell.RowIndex;

            // lấy mã chuyên đề từ ô 0 của row đang chọn
            string maCD = dgvKetQuaDangKy.Rows[rowIndex].Cells[0].Value.ToString();

            // lấy mở thông tin mở chuyên đề từ mã chuyên đề
            THONGTINMOCHUYENDE ttmcd = ThongTinMoChuyenDeBUS.Instance.GetByMaCD(maCD);
            string             maMCD = ttmcd.maThongTinMoChuyenDe;

            // lấy mã đăng ký dựa vào mssv và mã thông tin mở chuyên đề
            THONGTINDANGKY ttdk = ThongTinDangKyBUS.Instance.GetMaDangKyByMCD_MSSV(_maSV, maMCD);
            string         maDK = ttdk.maDangKy;

            THANHVIEN tv = ThanhVienBUS.Instance.GetByIDDK(maDK);

            if (tv != null)
            {
                string manhom = tv.maNhom;

                // kiểm tra vai trò ( true : trưởng nhóm, false: thành viên)
                bool vaitro = ThanhVienBUS.Instance.checkTruongNhom(_maSV, maDK);

                // nếu là thành viên
                if (vaitro == false)
                {
                    // kiểm tra có xoá thành viên được không
                    bool trangthai = ThanhVienBUS.Instance.deleteThanhVienbyHai(maDK, manhom);

                    // nếu xoá được thực hiện xoá đăng ký chuyên đề
                    if (trangthai)
                    {
                        // nếu xoá đăng ký chuyên đề thành công
                        if (ThongTinDangKyBUS.Instance.DeleteByMaDK(maDK))
                        {
                            MessageBox.Show("Huỷ đăng ký chuyên đề thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            dgvKetQuaDangKy.DataSource            = null;
                            dgvKetQuaDangKy.DataSource            = ThongTinDangKyBUS.Instance.GetTTDKCDeSinhVien(_maSV);
                            dgvKetQuaDangKy.Columns[0].HeaderText = "Mã CĐ";
                            dgvKetQuaDangKy.Columns[1].HeaderText = "Tên Chuyên Đề";
                            dgvKetQuaDangKy.Columns[2].HeaderText = "Ngày Bắt Đầu";
                            dgvKetQuaDangKy.Columns[3].HeaderText = "Ngày Kết Thúc";
                            dgvKetQuaDangKy.Columns[4].HeaderText = "Tên Lớp";
                        }
                        // ngược lại
                        else
                        {
                            MessageBox.Show("Huỷ đăng ký chuyên đề không thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    // nếu không xoá được ra khỏi nhóm
                    else
                    {
                        MessageBox.Show("Xoá không thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                // nếu vai trò là trưởng nhóm => xoá hết thành viên trong nhóm, sau đó, xoá nhóm mà trưởng nhóm đã tạo
                // tiếp theo, trưởng nhóm thực hiện huỷ đăng ký chuyên đề theo mong muốn
                else if (vaitro == true)
                {
                    // nếu xoá thành viên thành công
                    if (ThanhVienBUS.Instance.deleteThanhVienByMaNhom(manhom))
                    {
                        // nếu xoá nhóm thành công
                        if (NhomBUS.Instance.deleteNhom(manhom))
                        {
                            if (ThongTinDangKyBUS.Instance.DeleteByMaDK(maDK))
                            {
                                MessageBox.Show("Huỷ đăng ký chuyên đề thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else
                            {
                                MessageBox.Show("Huỷ đăng ký chuyên đề không thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Không thành công");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Không thành công");
                    }
                }
            }
            else
            {
                if (ThongTinDangKyBUS.Instance.DeleteByMaDK(maDK))
                {
                    MessageBox.Show("Huỷ đăng ký chuyên đề thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dgvKetQuaDangKy.DataSource            = null;
                    dgvKetQuaDangKy.DataSource            = ThongTinDangKyBUS.Instance.GetTTDKCDeSinhVien(_maSV);
                    dgvKetQuaDangKy.Columns[0].HeaderText = "Mã CĐ";
                    dgvKetQuaDangKy.Columns[1].HeaderText = "Tên Chuyên Đề";
                    dgvKetQuaDangKy.Columns[2].HeaderText = "Ngày Bắt Đầu";
                    dgvKetQuaDangKy.Columns[3].HeaderText = "Ngày Kết Thúc";
                    dgvKetQuaDangKy.Columns[4].HeaderText = "Tên Lớp";
                }
            }
        }