コード例 #1
0
        private void barBtnXoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            /*
             * Lấy thông tin đăng kí thi của lớp đó ra
             * Kiểm tra xem lớp đó đã thi chưa
             * Nếu chưa thi mới cho phép xóa , thi rồi thì báo lỗi
             */
            DataRow  dr       = gv_gvdk.GetFocusedDataRow();
            string   mamh     = dr[1].ToString().Trim();
            string   malop    = dr[2].ToString().Trim();
            string   trinhdo  = dr[3].ToString().Trim();
            DateTime ngaythi  = Convert.ToDateTime(dr[4].ToString().Trim());
            string   lan      = dr[5].ToString().Trim();
            int      socauthi = int.Parse(dr[6].ToString().Trim());
            int      thoigian = int.Parse(dr[7].ToString().Trim());
            bool     check    = checkDieuKienXoaDangKiThi(mamh, malop, lan);

            if (check == true)
            {
                MessageBox.Show("Kì thi này đã thi! ", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                var row = gv_gvdk.FocusedRowHandle;
                gv_gvdk.DeleteRow(row);
                bds_gvdk.EndEdit();
                this.adapter_gvdk.Update(this.ds.GIAOVIEN_DANGKY);

                //Luu Log
                GiaoVienDK giaoVienDk = new GiaoVienDK(Program.mUserId, mamh, malop, trinhdo, ngaythi, int.Parse(lan), socauthi, thoigian);
                Program.logGVDK.Insert(Program.indexLogGVDK + 1, new DataLogGVDK("D", giaoVienDk, null));
                Program.indexLogGVDK++;
            }
        }
コード例 #2
0
 private void button1_Click(object sender, EventArgs e)
 {
     /*TODO
      * checkvaldiate
      * Đăng kí
      */
     if (isDKMoi == true)
     {
         if (checkValidate() == true)
         {
             if (DANGKY() == true)
             {
                 MessageBox.Show("Đăng KÝ Thành Công!", "Thông Báo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             else
             {
                 MessageBox.Show("Đăng ký thất bại !", "Thông Báo!", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         else
         {
             MessageBox.Show(message, "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         if (checkDKEdit() == true)
         {
             string query = "UPDATE GIAOVIEN_DANGKY " +
                            "SET  TRINHDO = '" + cb_trinhdo.SelectedItem + "', NGAYTHI = '" + dt_ngaythi.DateTime + "', LAN = '" + spinEdit_lanthi.Text.ToString() + "', SOCAUTHI = '" + spinEdit_cauhoi.Text.ToString() + "', THOIGIAN = '" + spinEdit_thoigian.Text.ToString() + "'" +
                            "WHERE MAMH = '" + cb_maMonHoc.SelectedValue.ToString() + "' AND MALOP = '" + cb_maLop.Text.ToString() + "' AND LAN = " + spinEdit_lanthi.Text.ToString();
             MessageBox.Show(query);
             SqlCommand sqlcmd = new SqlCommand(query, Program.conn);
             sqlcmd.CommandType = CommandType.Text;
             if (Program.conn.State == ConnectionState.Closed)
             {
                 Program.conn.Open();
             }
             sqlcmd.ExecuteReader();
             frmRoot.adapter_gvdk.Fill(frmRoot.ds.GIAOVIEN_DANGKY);
             // Luu Log
             GiaoVienDK gvdk = new GiaoVienDK(txt_magv.Text,
                                              cb_maMonHoc.SelectedValue.ToString(),
                                              cb_maLop.SelectedValue.ToString(),
                                              cb_trinhdo.SelectedItem.ToString(),
                                              dt_ngaythi.DateTime,
                                              int.Parse(spinEdit_lanthi.Text.ToString()),
                                              int.Parse(spinEdit_cauhoi.Text.ToString()),
                                              int.Parse(spinEdit_thoigian.Text.ToString()));
             Program.logGVDK.Insert(Program.indexLogGVDK + 1, new DataLogGVDK("U", giaoVienDk, gvdk));
             Program.indexLogGVDK++;
         }
         else
         {
             MessageBox.Show(message, "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
コード例 #3
0
        private void btnThi_Click(object sender, EventArgs e)
        {
            if (isDKMoi == true)
            {
                if (!checkValidate())
                {
                    return;
                }
            }
            else
            {
                if (!checkDKEdit())
                {
                    return;
                }
            }

            MessageBox.Show("Vao thi nè! ");
            string malop       = cb_maLop.SelectedValue.ToString();
            string mamh        = cb_maMonHoc.SelectedValue.ToString();
            string lanthi      = spinEdit_lanthi.Text;
            string trinhdo     = cb_trinhdo.SelectedItem.ToString();
            int    socauthi    = Int32.Parse(spinEdit_cauhoi.Text);
            int    thoigianthi = Int32.Parse(spinEdit_thoigian.Text);

            DataTable db         = Program.ExecSqlDataTable("EXEC SP_GET_DE_THI " + socauthi + ",'" + mamh + "','" + trinhdo + "'");
            int       checkCount = db.Rows.Count;

            if (checkCount == 0)
            {
                MessageBox.Show("Số câu hỏi thi trong hệ thống không đáp ứng đủ để thi!");
            }
            else
            {
                GiaoVienDK gv = new GiaoVienDK(
                    Program.mUserId,
                    mamh,
                    malop,
                    trinhdo,
                    dt_ngaythi.DateTime,
                    int.Parse(lanthi),
                    socauthi,
                    thoigianthi
                    );
                GiaoVienDK.thithu = gv;
                List <BoDe> list = convertToListBD(db);
                BoDe.thithu = list;
                frmThiThu form = new frmThiThu();
                form.ShowDialog();
            }
        }
コード例 #4
0
        private bool DANGKY()
        {
            MessageBox.Show(txt_magv.Text + cb_maMonHoc.SelectedValue.ToString() + cb_maLop.SelectedValue.ToString()
                            + cb_trinhdo.SelectedItem.ToString() + dt_ngaythi.DateTime.ToString() + spinEdit_lanthi.Value +
                            spinEdit_cauhoi.Value + spinEdit_thoigian.Value);
            try
            {
                DataRow row = this.ds.GIAOVIEN_DANGKY.NewRow();
                row[0] = txt_magv.Text;
                row[1] = cb_maMonHoc.SelectedValue.ToString();
                row[2] = cb_maLop.SelectedValue.ToString();
                row[3] = cb_trinhdo.SelectedItem.ToString();
                row[4] = dt_ngaythi.DateTime.ToString();
                row[5] = spinEdit_lanthi.Text;
                row[6] = spinEdit_cauhoi.Text;
                row[7] = spinEdit_thoigian.Text;
                this.ds.GIAOVIEN_DANGKY.Rows.Add(row);
                bds_giaoVienDangKi.EndEdit();
                this.gIAOVIEN_DANGKYTableAdapter.Update(this.ds.GIAOVIEN_DANGKY);
                this.frmRoot.adapter_gvdk.Fill(this.frmRoot.ds.GIAOVIEN_DANGKY);

                //Ghi Log
                GiaoVienDK gvdk = new GiaoVienDK(txt_magv.Text,
                                                 cb_maMonHoc.SelectedValue.ToString(),
                                                 cb_maLop.SelectedValue.ToString(),
                                                 cb_trinhdo.SelectedItem.ToString(),
                                                 dt_ngaythi.DateTime,
                                                 int.Parse(spinEdit_lanthi.Text.ToString()),
                                                 int.Parse(spinEdit_cauhoi.Text.ToString()),
                                                 int.Parse(spinEdit_thoigian.Text.ToString()));

                /* if (Program.indexLogGVDK == Program.logGVDK.Count - 1)
                 * {*/
                Program.logGVDK.Insert(Program.indexLogGVDK + 1, new DataLogGVDK("I", null, gvdk));
                Program.indexLogGVDK++;

                /* }
                 * else
                 * {
                 *
                 * }*/

                return(true);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                return(false);
            }
        }
コード例 #5
0
        public frmExamRegistration(frmListExamRegistration f, GiaoVienDK gvdk)
        {
            InitializeComponent();
            this.frmRoot    = f;
            this.giaoVienDk = gvdk;
            txt_magv.Text   = Program.mUserId.Trim();
            // default trinh do
            cb_trinhdo.SelectedIndex = 0;

            this.CancelButton = btnCancel;
            this.CenterToScreen();

            /*gr_dkthi.Left = this.Width*2/ 3;
             * gr_dkthi.Top = this.Height / 5;*/
        }
コード例 #6
0
        private void frmChonMonThi_Load(object sender, EventArgs e)
        {
            /*
             * Load Mon Hoc Theo Lop
             * Set time hien tai cua he thong
             * Load So lan THi cua mon do
             */

            // load mon hoc
            Program.KetNoi();
            DataTable dtMonHoc = Program.ExecSqlDataTable("EXEC SP_TIM_MON_HOC_DK_THI_THEO_LOP '" + Program.malop.Trim() + "', '" + Program.mUserId + "'");

            foreach (DataRow row in dtMonHoc.Rows)
            {
                GiaoVienDK gv = new GiaoVienDK(
                    row["MAGV"].ToString(),
                    row["MAMH"].ToString(),
                    row["MALOP"].ToString(),
                    row["TRINHDO"].ToString(),
                    DateTime.Parse(row["NGAYTHI"].ToString()),
                    int.Parse(row["LAN"].ToString()),
                    int.Parse(row["SOCAUTHI"].ToString()),
                    int.Parse(row["THOIGIAN"].ToString())
                    );
                list.Add(gv);
                string name = row["MAMH"].ToString();

                cb_monHoc.Items.Add(name);
            }
            if (cb_monHoc.Items.Count > 0)
            {
                cb_monHoc.SelectedIndex = 0;
                cb_lanThi.SelectedIndex = 0;
            }
            else
            {
                this.Close();
                MessageBox.Show("Lớp của bạn hiện chưa có môn thi!");
                return;
            }


            // set time
            dtPicker.Value = DateTime.Now;
        }
コード例 #7
0
        private void barBtnChinhSua_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            /*
             * Kiểm tra xem lớp đã thi chưa
             * Nếu lớp đã thi rồi thì không cho sửa nữa
             */
            GiaoVienDK gv = coverDataRowToGiaoVienDK(gv_gvdk.GetFocusedDataRow());

            bool check = checkDieuKienXoaDangKiThi(gv.MaMH, gv.MaLop, gv.Lan.ToString());

            if (check == true)
            {
                MessageBox.Show("Kì thi này đã thi! Không thể sửa ", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                frmExamRegistration f = new frmExamRegistration(this, gv);
                f.isDKMoi = false;
                f.ShowDialog();
            }
        }
コード例 #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            /* kiem tra xem ki thi nay co that su ton tai trong he thong khong
             * kiểm tra số câu hỏi trong dsdk thi
             * getRamdom câu hỏi thi
             * Kiểm tra số dòng lấy ra có đáp ứng đủ số câu thi không;
             */

            string malop       = Program.malop.Trim();
            string mamh        = cb_monHoc.SelectedItem.ToString();
            string lanthi      = cb_lanThi.SelectedItem.ToString();
            string trinhdo     = "";
            int    socauthi    = -1;
            int    thoigianthi = -1;

            Program.KetNoi();
            string        query = "EXEC SP_GET_DK_THI '" + malop + "','" + mamh + "','" + lanthi + "'";
            SqlDataReader dkthi = Program.ExecSqlDataReader(query);

            if (dkthi == null)
            {
                MessageBox.Show("Đợt thi này không tồn tại trong hệ thống");
            }
            else
            {
                bool c = dkthi.Read();
                if (c == false)
                {
                    MessageBox.Show("Đợt thi này đã không còn tồn tại trong hệ thống! ");
                    return;
                }
                trinhdo     = dkthi.GetString(3).Trim();
                socauthi    = dkthi.GetInt16(6);
                thoigianthi = dkthi.GetInt16(7);
                GiaoVienDK gv = new GiaoVienDK(
                    dkthi.GetString(0),
                    dkthi.GetString(1),
                    dkthi.GetString(2),
                    trinhdo,
                    dkthi.GetDateTime(4),
                    dkthi.GetInt16(5),
                    socauthi,
                    thoigianthi
                    );
                dkthi.Close();
                DataTable db         = Program.ExecSqlDataTable("EXEC SP_GET_DE_THI " + socauthi + ",'" + mamh + "','" + trinhdo + "'");
                int       checkCount = db.Rows.Count;
                if (checkCount == 0)
                {
                    MessageBox.Show("Số câu hỏi thi trong hệ thống không đáp ứng đủ để thi!");
                }
                else
                {
                    GiaoVienDK.gv_dk = gv;
                    this.Close();
                    List <BoDe> list = convertToListBD(db);
                    BoDe.boDe = list;

                    frmTracNghiem form = new frmTracNghiem();
                    form.ShowDialog();
                }
            }
        }
コード例 #9
0
        private void ghiBangDiemVaBaiThi()
        {
            GiaoVienDK g  = GiaoVienDK.gv_dk;
            BangDiem   bd = new BangDiem(Program.mUserId, g.MaMH, g.Lan, g.NgayThi.ToString(), tongDiem);

            bd.ghiDiem();
            String strlenh = "EXEC SP_TIMBANGDIEM_THI '" + Program.mUserId + "', '" + g.MaMH + "', " + g.Lan;

            Program.myReader.Close();

            Program.myReader = Program.ExecSqlDataReader(strlenh);
            Program.myReader.Read();

            int idBangDiem = Program.myReader.GetInt32(5);

            Program.myReader.Close();

            foreach (CT_BaiThi ct in CT_BaiThi.ct_baiThi)
            {
                bdsCT_BAITHI.AddNew();
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["THUTU"]       = ct.getThuTu();
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["NOIDUNG"]     = ct.getNoiDung();
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["A"]           = ct.getA().Trim();
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["B"]           = ct.getB().Trim();
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["C"]           = ct.getC().Trim();
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["D"]           = ct.getD().Trim();
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["DAPANDUNG"]   = ct.getDapAnDung().Trim().ElementAt(0);
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["DAPANDACHON"] = ct.getDapAnDaChon().Length == 0 ? ' ': ct.getDapAnDaChon().ElementAt(0);
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["MA_BAI_THI"]  = idBangDiem;
                ((DataRowView)bdsCT_BAITHI[bdsCT_BAITHI.Position])["CAU_HOI"]     = ct.getCauHoi();
                bdsCT_BAITHI.EndEdit();
            }
            try
            {
                cT_BAITHITableAdapter.Update(this.dS.CHITIETBAITHI);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            DialogResult dialogResult = MessageBox.Show("Số câu đúng: " + soCauDung + "/" + soCauThi + "\nTổng điểm: " + tongDiem + "\nBạn có muốn xem lại bài thi?", "KẾT QUẢ", MessageBoxButtons.YesNoCancel);

            if (dialogResult == DialogResult.Yes)
            {
                rpXemBaiThi rp = new rpXemBaiThi(idBangDiem);
                rp.lbHoTen.Text   = "HỌ TÊN: " + Program.mHoTen;
                rp.lbLop.Text     = "LỚP: " + Program.tenlop;
                rp.lbMonHoc.Text  = "MÔN THI" + this.lblMONHOC.Text;
                rp.lbNgayThi.Text = "NGÀY THI: " + lblNGAYTHI.Text;

                rp.lbLanThi.Text = "LẦN: " + g.Lan;
                ReportPrintTool print = new ReportPrintTool(rp);
                print.ShowPreviewDialog();
            }
            else if (dialogResult == DialogResult.No)
            {
            }
            else if (dialogResult == DialogResult.Cancel)
            {
            }
            GiaoVienDK.gv_dk = null;
            CT_BaiThi.ct_baiThi.Clear();
            BoDe.boDe.Clear();
        }
コード例 #10
0
        private void frmTracNghiem_Load(object sender, EventArgs e)
        {
            boDe     = BoDe.boDe;
            soCauThi = boDe.Count;
            this.cT_BAITHITableAdapter.Connection.ConnectionString = Program.connstr;
            // TODO: This line of code loads data into the 'dS.CT_BAITHI' table. You can move, or remove it, as needed.
            //this.cT_BAITHITableAdapter.Fill(this.dS.CHITIETBAITHI);
            // TODO: This line of code loads data into the 'dSQLTN.CT_BAITHI' table. You can move, or remove it, as needed.
            toolStripStatusHOTEN.Text  = "Họ và tên: " + Program.mHoTen;
            toolStripStatusMAGV.Text   = "Mã SV:" + Program.mUserId;
            toolStripStatusNHOM.Text   = "nhóm: SINHVIEN";
            toolStripStatusMALOP.Text  = "mã lớp: " + Program.malop;
            toolStripStatusTENLOP.Text = "tên lớp: " + Program.tenlop;
            BoDe b = (BoDe)boDe[index];

            lblNOIDUNG.Text = "Câu " + index + 1 + ": " + b.NoiDung;
            rdoA.Text       = b.DapAnA;
            rdoB.Text       = b.DapAnB;
            rdoC.Text       = b.DapAnC;
            rdoD.Text       = b.DapAnD;
            GiaoVienDK g = GiaoVienDK.gv_dk;

            soCauThi = g.SoCauThi;
            String lenh = "EXEC SP_TIMKIEMMH '" + g.MaMH + "'";

            Program.myReader = Program.ExecSqlDataReader(lenh);
            Program.myReader.Read();
            String tenMH = Program.myReader.GetString(1);

            Program.myReader.Close();
            lblLOP.Text         = "Lớp: " + Program.tenlop;
            lblMONHOC.Text      = "Môn học: " + tenMH;
            lblNGAYTHI.Text     = "Ngày thi: " + g.NgayThi.ToString("dd/MM/yyyy");
            lblTRINHDO.Text     = "Trình độ: " + g.TrinhDo;
            btnCAUTRUOC.Enabled = false;
            mm         = g.ThoiGian;
            t.Interval = 1000;

            t.Tick += new EventHandler(this.t_Tick);

            t.Start();
            //Copy dữ liệu từ bộ đề sang chi tiết bài thi
            int i = 1;

            foreach (BoDe b2 in BoDe.boDe)
            {
                int       cauHoi      = b2.CauHoi;
                String    maMH        = b2.MaMH;
                String    trinhDo     = b2.TrinhDo;
                String    noiDung     = b2.NoiDung;
                String    A           = b2.DapAnA;
                String    B           = b2.DapAnB;
                String    C           = b2.DapAnC;
                String    D           = b2.DapAnD;
                String    dapAn       = b2.DapAnDung;
                String    maGV        = b2.MaGV;
                String    dapAnDaChon = "";
                CT_BaiThi ct          = new CT_BaiThi(cauHoi, i, noiDung, A, B, C, D, dapAn, dapAnDaChon);
                CT_BaiThi.ct_baiThi.Add(ct);
                i++;
            }
            /*cập nhật thông báo đáp án đã chọn*/
            //     capNhatThongBaoDapAnDaChon();
            numericUpDownCAUINDEX.Maximum = 100;
            numericUpDownCAUINDEX.Minimum = 1;

            summarylistview.View          = View.Details;
            summarylistview.GridLines     = true;
            summarylistview.FullRowSelect = true;
            foreach (CT_BaiThi ct in CT_BaiThi.ct_baiThi)
            {
                String[] arr = new string[2];
                arr[0] = ct.getThuTu().ToString();
                arr[1] = ct.getDapAnDaChon().ToString();
                ListViewItem baiThi = new ListViewItem(arr);
                this.summarylistview.Items.Add(baiThi);
            }
        }