Example #1
0
        private void btnGhi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            switch (choose)
            {
            case Program.THEM:
                if (checkAvailabelInfo())
                {
                    xuLyThem(true, txtMaSV.Text.Trim(), txtHoSV.Text.Trim(), txtTenSV.Text.Trim(), cmbLop.SelectedValue.ToString(),
                             checkPhaiSV.Checked, Program.convertStringToDateTime(txtNgaySinhSV.Text),
                             txtNoiSinhSV.Text.Trim(), txtDiaChiSV.Text.Trim(), checkNghiHoc.Checked);
                }
                break;

            case Program.HIEU_CHINH:
                if (checkAvailabelInfo() && sv != null)
                {
                    Program.ObjectUndo obj = new Program.ObjectUndo(Program.HIEU_CHINH, sv);
                    st.Push(obj);
                    updateUIButtonPhucHoi();

                    xuLyHieuChinh(txtMaSV.Text.ToString(),
                                  txtHoSV.Text.ToString(),
                                  txtTenSV.Text.ToString(),
                                  checkPhaiSV.Checked,
                                  Program.convertStringToDateTime(txtNgaySinhSV.Text.ToString()),
                                  txtNoiSinhSV.Text.ToString(),
                                  txtDiaChiSV.Text.ToString(),
                                  checkNghiHoc.Checked);
                }

                break;
            }
            ;
        }
Example #2
0
        private void btnXoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (Program.conn.State == ConnectionState.Closed)
            {
                Program.conn.Open();
            }
            String strLenhKiemTraTenLop = "dbo.sp_KiemTraLopTonTaiSinhVien ";

            Program.sqlcmd             = Program.conn.CreateCommand();
            Program.sqlcmd.CommandType = CommandType.StoredProcedure;
            Program.sqlcmd.CommandText = strLenhKiemTraTenLop;
            Program.sqlcmd.Parameters.Add("@MALOP", SqlDbType.Text).Value  = txtMaLop.Text.Trim();
            Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
            Program.sqlcmd.ExecuteNonQuery();
            Program.conn.Close();
            String RetKiemTraTenLop = Program.sqlcmd.Parameters["@Ret"].Value.ToString();

            if (RetKiemTraTenLop == "1")
            {
                MessageBox.Show("Không thể xóa lớp này vì có sinh viên trong lớp", "",
                                MessageBoxButtons.OK);
                return;
            }

            String maLop = "";

            if (MessageBox.Show("Bạn có thật sự muốn xóa lớp này ?? ", "Xác nhận",
                                MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                try
                {
                    DataRowView dataRow = (DataRowView)bdsDsLop[bdsDsLop.Position];
                    maLop = dataRow["MALOP"].ToString(); // giữ lại để khi xóa bij lỗi thì ta sẽ quay về lại
                    String             tenLop    = dataRow["TENLOP"].ToString();
                    String             maKhoa    = dataRow["MAKH"].ToString();
                    Lop                lopRemove = new Lop(maLop, tenLop, maKhoa);
                    Program.ObjectUndo obj       = new Program.ObjectUndo(Program.XOA, lopRemove);

                    bdsDsLop.RemoveCurrent();
                    this.lOPTableAdapter.Connection.ConnectionString = Program.connstr;
                    this.lOPTableAdapter.Update(this.dS.LOP);

                    st.Push(obj);
                    updateUIButtonPhucHoi();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi xóa lớp. Bạn hãy xóa lại\n" + ex.Message, "",
                                    MessageBoxButtons.OK);
                    this.lOPTableAdapter.Fill(this.dS.LOP);
                    bdsDsLop.Position = bdsDsLop.Find("MALOP", maLop);
                    return;
                }
            }

            if (bdsDsLop.Count == 0)
            {
                btnXoa.Enabled = false;
            }
        }
Example #3
0
        private void btnXoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (Program.conn.State == ConnectionState.Closed)
            {
                Program.conn.Open();
            }
            String strLenhKiemTraTenLop = "dbo.sp_KiemTraMonHocTonTaiDiem";

            Program.sqlcmd             = Program.conn.CreateCommand();
            Program.sqlcmd.CommandType = CommandType.StoredProcedure;
            Program.sqlcmd.CommandText = strLenhKiemTraTenLop;
            Program.sqlcmd.Parameters.Add("@MAMH", SqlDbType.Text).Value   = convertStringToUTF8(txtMaMH.Text.Trim());
            Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
            Program.sqlcmd.ExecuteNonQuery();
            Program.conn.Close();
            String RetKiemTraTenLop = Program.sqlcmd.Parameters["@Ret"].Value.ToString();

            if (RetKiemTraTenLop == "1")
            {
                MessageBox.Show("Không thể xóa môn học này vì có điểm trong môn học", "",
                                MessageBoxButtons.OK);
                return;
            }

            String maMH = "";

            if (MessageBox.Show("Bạn có thật sự muốn xóa môn học này ?? ", "Xác nhận",
                                MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                try
                {
                    DataRowView dataRow = (DataRowView)mONHOCBindingSource[mONHOCBindingSource.Position];
                    maMH = dataRow["MAMH"].ToString(); // giữ lại để khi xóa bij lỗi thì ta sẽ quay về lại
                    String             tenMH    = dataRow["TENMH"].ToString();
                    MonHoc             mhRemove = new MonHoc(maMH, tenMH);
                    Program.ObjectUndo obj      = new Program.ObjectUndo(Program.XOA, mhRemove);

                    mONHOCBindingSource.RemoveCurrent();
                    this.mONHOCTableAdapter.Connection.ConnectionString = Program.connstr;
                    this.mONHOCTableAdapter.Update(this.dS.MONHOC);

                    st.Push(obj);
                    updateUIButtonPhucHoi();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi xóa lớp. Bạn hãy xóa lại\n" + ex.Message, "",
                                    MessageBoxButtons.OK);
                    this.mONHOCTableAdapter.Fill(this.dS.MONHOC);
                    mONHOCBindingSource.Position = mONHOCBindingSource.Find("MAMH", maMH);
                    return;
                }
            }

            if (mONHOCBindingSource.Count == 0)
            {
                btnXoa.Enabled = false;
            }
        }
Example #4
0
        private void btnHieuChinh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            vitri             = mONHOCBindingSource.Position;
            groupBox1.Enabled = true;
            btnThem.Enabled   = btnHieuChinh.Enabled = btnXoa.Enabled = btnExit.Enabled = false;
            btnGhi.Enabled    = btnPhucHoi.Enabled = btnReload.Enabled = true;
            txtMaMH.Enabled   = false;
            txtTenMH.Focus();
            gcMonHoc.Enabled = true;
            choose           = Program.HIEU_CHINH;

            // lưu stack cho undo
            MonHoc mh = new MonHoc(txtMaMH.Text, txtTenMH.Text);

            Program.ObjectUndo obj = new Program.ObjectUndo(Program.HIEU_CHINH, mh);

            st.Push(obj);

            updateUIButtonPhucHoi();
        }
Example #5
0
        private void btnPhucHoi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (btnHieuChinh.Enabled == false || btnThem.Enabled == false)
            {
                DsSinhVienTheoLopBindingSource.CancelEdit();
                this.DsSinhVienTheoLopTableAdapter.Connection.ConnectionString = Program.connstr;

                if (btnThem.Enabled == false)
                {
                    DsSinhVienTheoLopBindingSource.Position = vitri;
                }
                gcSinhVien.Enabled  = true;
                panelDetail.Enabled = false;
                btnThem.Enabled     = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnThoat.Enabled = true;
                btnGhi.Enabled      = btnPhucHoi.Enabled = false;

                vitriLop = cmbLop.SelectedIndex;
                reload();
                cmbLop.SelectedIndex = vitriLop;
            }
            else
            {
                if (st.Count == 0)
                {
                    return;
                }

                Program.ObjectUndo objUndo = (Program.ObjectUndo)st.Peek();
                Object             obj     = objUndo.obj;
                switch (objUndo.type)
                {
                case Program.THEM:
                    if (MessageBox.Show("Khôi phục sau khi thêm", "Xác nhận", MessageBoxButtons.OKCancel)
                        == DialogResult.Cancel)
                    {
                        return;
                    }

                    st.Pop();
                    String maSV = "";

                    try
                    {
                        maSV = obj.ToString();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                    xuLyXoaSinhVien(false, maSV);
                    updateUIButtonPhucHoi();

                    break;

                case Program.HIEU_CHINH:
                    if (MessageBox.Show("Khôi phục sau khi hiệu chỉnh", "Xác nhận", MessageBoxButtons.OKCancel)
                        == DialogResult.Cancel)
                    {
                        return;
                    }

                    st.Pop();
                    try
                    {
                        SinhVien sv = (SinhVien)objUndo.obj;
                        xuLyHieuChinh(sv.maSinhVien, sv.hoSinhVien, sv.tenSinhVien,
                                      sv.phaiSinhVien, sv.ngaySinh, sv.noiSinh, sv.diaChi, sv.nghiHoc);
                        updateUIButtonPhucHoi();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }


                    break;

                case Program.XOA:
                    if (MessageBox.Show("Khôi phục sau khi xóa", "Xác nhận", MessageBoxButtons.OKCancel)
                        == DialogResult.Cancel)
                    {
                        return;
                    }

                    st.Pop();
                    try
                    {
                        SinhVien svXoa = (SinhVien)objUndo.obj;
                        xuLyThem(false, svXoa.maSinhVien, svXoa.hoSinhVien, svXoa.tenSinhVien,
                                 svXoa.maLop, svXoa.phaiSinhVien, svXoa.ngaySinh,
                                 svXoa.noiSinh, svXoa.diaChi, svXoa.nghiHoc);
                        updateUIButtonPhucHoi();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    break;
                }
            }
        }
Example #6
0
        private void xuLyXoaSinhVien(bool haveUndo, String maSV)
        {
            if (Program.conn.State == ConnectionState.Closed)
            {
                Program.conn.Open();
            }
            String strLenh = "dbo.sp_KiemTraMaSV";

            Program.sqlcmd             = Program.conn.CreateCommand();
            Program.sqlcmd.CommandType = CommandType.StoredProcedure;
            Program.sqlcmd.CommandText = strLenh;
            Program.sqlcmd.Parameters.Add("@MASV", SqlDbType.Text).Value   = txtMaSV.Text.Trim();
            Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
            Program.sqlcmd.ExecuteNonQuery();
            String Ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString();

            if (Ret == "0")
            {
                MessageBox.Show("Mã sinh viên không tồn tại", "", MessageBoxButtons.OK);
                Program.conn.Close();
                return;
            }

            if (MessageBox.Show("Bạn có thật sự muốn xóa nhân viên có mã " + maSV + " ??", "Xác nhận",
                                MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                try
                {
                    DataRowView dataRow  = (DataRowView)DsSinhVienTheoLopBindingSource[DsSinhVienTheoLopBindingSource.Position];
                    String      maSv     = dataRow["MASV"].ToString();
                    String      hoSv     = dataRow["HO"].ToString();
                    String      tenSv    = dataRow["TEN"].ToString();
                    String      maLop    = dataRow["MALOP"].ToString();
                    bool        phaiSv   = Boolean.Parse(dataRow["PHAI"].ToString());
                    String      ngaySinh = txtNgaySinhSV.Text.ToString();
                    String      noiSinh  = dataRow["NOISINH"].ToString();
                    String      diaChi   = dataRow["DIACHI"].ToString();
                    bool        nghiHoc  = Boolean.Parse(dataRow["NGHIHOC"].ToString());

                    SinhVien svRemove = new SinhVien(maSV, hoSv, tenSv, phaiSv, Program.convertStringToDateTime(ngaySinh),
                                                     noiSinh, diaChi, nghiHoc);
                    svRemove.maLop = maLop;

                    Program.ObjectUndo obj = new Program.ObjectUndo(Program.XOA, svRemove);

                    this.DsSinhVienTheoLopTableAdapter.Connection.ConnectionString = Program.connstr;
                    int result = this.DsSinhVienTheoLopTableAdapter.Delete(maSV);
                    if (result == 1)
                    {
                        if (haveUndo)
                        {
                            MessageBox.Show("Xóa sinh viên thành công", "", MessageBoxButtons.OK);
                        }
                        else
                        {
                            MessageBox.Show("Phục hồi thành công", "", MessageBoxButtons.OK);
                        }
                    }
                    else
                    {
                        if (haveUndo)
                        {
                            MessageBox.Show("Xóa sinh viên bị lỗi", "", MessageBoxButtons.OK);
                        }
                        else
                        {
                            MessageBox.Show("Phục hồi bị lỗi", "", MessageBoxButtons.OK);
                        }
                    }

                    vitriLop = cmbLop.SelectedIndex;
                    reload();
                    cmbLop.SelectedIndex = vitriLop;

                    if (haveUndo)
                    {
                        st.Push(obj);
                        updateUIButtonPhucHoi();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi xóa sinh viên. Bạn hãy xóa lại\n" + ex.Message, "",
                                    MessageBoxButtons.OK);
                    initSinhVienList();
                    DsSinhVienTheoLopBindingSource.Position = DsSinhVienTheoLopBindingSource.Find("MASV", txtMaSV.Text.Trim());
                    return;
                }
            }
        }
Example #7
0
        private void xuLyThem(bool haveUndo, String maSV, String ho, String ten, String maLop,
                              bool phai, DateTime ngaySinh, String noiSinh, String diaChi, bool nghiHoc)
        {
            if (Program.conn.State == ConnectionState.Closed)
            {
                Program.conn.Open();
            }
            String strLenh = "dbo.sp_KiemTraMaSV";

            Program.sqlcmd             = Program.conn.CreateCommand();
            Program.sqlcmd.CommandType = CommandType.StoredProcedure;
            Program.sqlcmd.CommandText = strLenh;
            Program.sqlcmd.Parameters.Add("@MASV", SqlDbType.Text).Value   = maSV;
            Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
            Program.sqlcmd.ExecuteNonQuery();
            String Ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString();

            if (Ret == "1")
            {
                MessageBox.Show("Mã sinh viên bị trùng!", "", MessageBoxButtons.OK);
                txtMaSV.Focus();
                Program.conn.Close();
                return;
            }

            try
            {
                DsSinhVienTheoLopBindingSource.EndEdit();
                DsSinhVienTheoLopBindingSource.ResetCurrentItem();
                this.DsSinhVienTheoLopTableAdapter.Connection.ConnectionString = Program.connstr;
                this.DsSinhVienTheoLopTableAdapter.Insert(maSV, ho, ten, maLop, phai,
                                                          ngaySinh, noiSinh, diaChi, nghiHoc);

                vitriLop = cmbLop.SelectedIndex;
                reload();
                cmbLop.SelectedIndex = vitriLop;

                if (haveUndo)
                {
                    MessageBox.Show("Thêm sinh viên thành công", "", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show("Phục hồi thành công", "", MessageBoxButtons.OK);
                }


                if (haveUndo)
                {
                    Program.ObjectUndo obj = new Program.ObjectUndo(Program.THEM, maSV);
                    st.Push(obj);
                }
                updateUIButtonPhucHoi();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi ghi sinh viên.\n" + ex.Message, "", MessageBoxButtons.OK);
                return;
            }

            gcSinhVien.Enabled = true;
            btnThem.Enabled    = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnThoat.Enabled = true;
            cmbLop.Enabled     = true;

            updateUIcmbKhoa();
            btnGhi.Enabled = false;

            panelDetail.Enabled = false;
        }
Example #8
0
        private void btnPhucHoi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (btnHieuChinh.Enabled == false || btnThem.Enabled == false)
            {
                bdsDsLop.CancelEdit();
                this.lOPTableAdapter.Connection.ConnectionString = Program.connstr;

                if (btnThem.Enabled == false)
                {
                    bdsDsLop.Position = vitri;
                }
                gcLop.Enabled     = true;
                groupBox1.Enabled = false;
                btnThem.Enabled   = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                btnGhi.Enabled    = btnPhucHoi.Enabled = false;

                reload();
            }
            else
            {
                if (st.Count == 0)
                {
                    return;
                }

                Program.ObjectUndo objUndo = (Program.ObjectUndo)st.Peek();
                Object             obj     = objUndo.obj;

                switch (objUndo.type)
                {
                case Program.THEM:
                    if (MessageBox.Show("Khôi phục sau khi thêm", "Xác nhận", MessageBoxButtons.OKCancel)
                        == DialogResult.Cancel)
                    {
                        return;
                    }

                    st.Pop();
                    String lenh = "";

                    try
                    {
                        lenh = obj.ToString();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                    Program.ExecSqlDataReader(lenh);
                    this.lOPTableAdapter.Fill(this.dS.LOP);
                    updateUIButtonPhucHoi();

                    break;

                case Program.HIEU_CHINH:
                    if (MessageBox.Show("Khôi phục sau khi hiệu chỉnh", "Xác nhận", MessageBoxButtons.OKCancel)
                        == DialogResult.Cancel)
                    {
                        return;
                    }

                    st.Pop();
                    try
                    {
                        Lop lopHieuChinh = (Lop)objUndo.obj;
                        MessageBox.Show(lopHieuChinh.tenLop);

                        if (Program.conn.State == ConnectionState.Closed)
                        {
                            Program.conn.Open();
                        }
                        String strLenh = "dbo.sp_UndoHieuChinh";
                        Program.sqlcmd             = Program.conn.CreateCommand();
                        Program.sqlcmd.CommandType = CommandType.StoredProcedure;
                        Program.sqlcmd.CommandText = strLenh;
                        Program.sqlcmd.Parameters.Add("@maLop", SqlDbType.Text).Value  = lopHieuChinh.maLop;
                        Program.sqlcmd.Parameters.Add("@tenLop", SqlDbType.Text).Value = lopHieuChinh.tenLop;

                        Program.sqlcmd.ExecuteNonQuery();
                        Program.conn.Close();

                        reload();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                    break;

                case Program.XOA:
                    if (MessageBox.Show("Khôi phục sau khi xóa", "Xác nhận", MessageBoxButtons.OKCancel)
                        == DialogResult.Cancel)
                    {
                        return;
                    }

                    st.Pop();

                    try
                    {
                        Lop lopXoa = (Lop)objUndo.obj;

                        String    sql = "exec sp_InsertLop N'" + lopXoa.maLop + "', N'" + lopXoa.tenLop + "', N'" + maKhoa + "'";
                        DataTable tb  = Program.ExecSqlDataTable(sql);
                        if (tb.Rows.Count > 0)
                        {
                            MessageBox.Show("Undo success");
                        }
                        else
                        {
                            MessageBox.Show("Undo failed");
                        }

                        reload();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    break;
                }
            }
        }
Example #9
0
        private void btnGhi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            switch (choose)
            {
            case Program.THEM:
                if (!checkInfoAvailable())
                {
                    return;
                }

                if (!kiemTraMaLop(txtMaLop.Text))
                {
                    MessageBox.Show("Mã lớp bị trùng!", "", MessageBoxButtons.OK);
                    txtMaLop.Focus();
                    Program.conn.Close();
                    return;
                }

                if (!kiemTraTenLop(txtTenLop.Text))
                {
                    MessageBox.Show("Tên lớp bị trùng !");
                    txtTenLop.Focus();
                    return;
                }

                try
                {
                    bdsDsLop.EndEdit();
                    bdsDsLop.ResetCurrentItem();
                    this.lOPTableAdapter.Connection.ConnectionString = Program.connstr;
                    this.lOPTableAdapter.Update(this.dS.LOP);
                    MessageBox.Show("Thêm lớp thành công", "", MessageBoxButtons.OK);

                    String             lenh = "exec sp_UndoThemLop '" + txtMaLop.Text + "'";
                    Program.ObjectUndo obj  = new Program.ObjectUndo(Program.THEM, lenh);
                    st.Push(obj);
                    updateUIButtonPhucHoi();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi ghi lớp.\n" + ex.Message, "", MessageBoxButtons.OK);
                    return;
                }
                gcLop.Enabled   = true;
                btnThem.Enabled = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                btnGhi.Enabled  = false;

                groupBox1.Enabled = false;
                break;

            case Program.HIEU_CHINH:
                String tenLop = ((DataRowView)bdsDsLop[vitri])["TENLOP"].ToString().Trim();
                if (txtTenLop.Text.Trim().Equals(tenLop))
                {
                    if (MessageBox.Show("Bạn đã không thay đổi gì, bạn có muốn thoát chỉnh sửa ?", "Xác nhận",
                                        MessageBoxButtons.OKCancel) == DialogResult.OK)
                    {
                        gcLop.Enabled   = true;
                        btnThem.Enabled = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                        btnGhi.Enabled  = false;

                        groupBox1.Enabled = false;
                    }

                    return;
                }

                if (!checkInfoAvailable())
                {
                    return;
                }

                if (!kiemTraTenLop(txtTenLop.Text))
                {
                    MessageBox.Show("Tên lớp bị trùng !");
                    txtTenLop.Focus();
                    return;
                }

                Program.ObjectUndo objHieuChinh = new Program.ObjectUndo(Program.HIEU_CHINH, lop);
                st.Push(objHieuChinh);

                updateUIButtonPhucHoi();
                try
                {
                    bdsDsLop.EndEdit();
                    bdsDsLop.ResetCurrentItem();
                    this.lOPTableAdapter.Connection.ConnectionString = Program.connstr;
                    this.lOPTableAdapter.Update(this.dS.LOP);

                    MessageBox.Show("Hiệu chỉnh thành công", "", MessageBoxButtons.OK);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi hiệu chỉnh lớp.\n" + ex.Message, "", MessageBoxButtons.OK);
                    return;
                }
                gcLop.Enabled   = true;
                btnThem.Enabled = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                btnGhi.Enabled  = false;

                groupBox1.Enabled = false;

                break;
            }
        }
Example #10
0
        private void btnGhi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            switch (choose)
            {
            case Program.THEM:
                if (txtMaMH.Text.Trim() == "")
                {
                    MessageBox.Show("Mã môn học không được thiếu!", "", MessageBoxButtons.OK);
                    txtMaMH.Focus();
                    return;
                }

                if (txtTenMH.Text.Trim() == "")
                {
                    MessageBox.Show("Tên môn học không được thiếu!", "", MessageBoxButtons.OK);
                    txtTenMH.Focus();
                    return;
                }

                if (Program.conn.State == ConnectionState.Closed)
                {
                    Program.conn.Open();
                }
                String strLenh = "dbo.sp_TIMMONHOC";
                Program.sqlcmd             = Program.conn.CreateCommand();
                Program.sqlcmd.CommandType = CommandType.StoredProcedure;
                Program.sqlcmd.CommandText = strLenh;
                Program.sqlcmd.Parameters.Add("@X", SqlDbType.Text).Value      = txtMaMH.Text;
                Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
                Program.sqlcmd.ExecuteNonQuery();
                String Ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString();
                if (Ret == "1")
                {
                    MessageBox.Show("Mã môn học bị trùng!", "", MessageBoxButtons.OK);
                    txtMaMH.Focus();
                    Program.conn.Close();
                    return;
                }

                String strLenhKiemTra = "dbo.sp_KiemTraTenMonHoc";
                Program.sqlcmd             = Program.conn.CreateCommand();
                Program.sqlcmd.CommandType = CommandType.StoredProcedure;
                Program.sqlcmd.CommandText = strLenhKiemTra;
                Program.sqlcmd.Parameters.Add("@TENMH", SqlDbType.Text).Value  = convertStringToUTF8(txtTenMH.Text.Trim());
                Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
                Program.sqlcmd.ExecuteNonQuery();
                Program.conn.Close();
                String RetKiemTra = Program.sqlcmd.Parameters["@Ret"].Value.ToString();
                if (RetKiemTra == "1")
                {
                    MessageBox.Show("Tên môn học bị trùng!", "", MessageBoxButtons.OK);
                    txtTenMH.Focus();
                    return;
                }

                try
                {
                    mONHOCBindingSource.EndEdit();
                    mONHOCBindingSource.ResetCurrentItem();
                    this.mONHOCTableAdapter.Connection.ConnectionString = Program.connstr;
                    this.mONHOCTableAdapter.Update(this.dS.MONHOC);
                    MessageBox.Show("Thêm lớp thành công", "", MessageBoxButtons.OK);

                    String             lenh = "exec sp_UndoThemMonHoc '" + txtMaMH.Text + "'";
                    Program.ObjectUndo obj  = new Program.ObjectUndo(Program.THEM, lenh);
                    st.Push(obj);
                    updateUIButtonPhucHoi();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi ghi nhân viên.\n" + ex.Message, "", MessageBoxButtons.OK);
                    return;
                }
                gcMonHoc.Enabled = true;
                btnThem.Enabled  = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                btnGhi.Enabled   = false;

                groupBox1.Enabled = false;
                break;

            case Program.HIEU_CHINH:
                String tenMH = ((DataRowView)mONHOCBindingSource[vitri])["TENMH"].ToString().Trim();
                if (txtTenMH.Text.Trim().Equals(tenMH))
                {
                    if (MessageBox.Show("Bạn đã không thay đổi gì, bạn có muốn thoát chỉnh sửa ?", "Xác nhận",
                                        MessageBoxButtons.OKCancel) == DialogResult.OK)
                    {
                        gcMonHoc.Enabled = true;
                        btnThem.Enabled  = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                        btnGhi.Enabled   = false;

                        groupBox1.Enabled = false;
                    }

                    return;
                }

                if (txtTenMH.Text.Trim() == "")
                {
                    MessageBox.Show("Tên môn học không được thiếu!", "", MessageBoxButtons.OK);
                    txtTenMH.Focus();
                    return;
                }

                if (Program.conn.State == ConnectionState.Closed)
                {
                    Program.conn.Open();
                }
                String strLenhKiemTraTenLop = "dbo.sp_KiemTraTenMonHoc";
                Program.sqlcmd             = Program.conn.CreateCommand();
                Program.sqlcmd.CommandType = CommandType.StoredProcedure;
                Program.sqlcmd.CommandText = strLenhKiemTraTenLop;
                Program.sqlcmd.Parameters.Add("@TENMH", SqlDbType.Text).Value  = convertStringToUTF8(txtTenMH.Text.Trim());
                Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
                Program.sqlcmd.ExecuteNonQuery();
                Program.conn.Close();
                String RetKiemTraTenLop = Program.sqlcmd.Parameters["@Ret"].Value.ToString();
                if (RetKiemTraTenLop == "1")
                {
                    MessageBox.Show("Tên lớp bị trùng!", "", MessageBoxButtons.OK);
                    txtTenMH.Focus();
                    return;
                }

                try
                {
                    mONHOCBindingSource.EndEdit();
                    mONHOCBindingSource.ResetCurrentItem();
                    this.mONHOCTableAdapter.Connection.ConnectionString = Program.connstr;
                    this.mONHOCTableAdapter.Update(this.dS.MONHOC);

                    MessageBox.Show("Update thành công", "", MessageBoxButtons.OK);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Lỗi hiệu chỉnh nhân viên.\n" + ex.Message, "", MessageBoxButtons.OK);
                    return;
                }
                gcMonHoc.Enabled = true;
                btnThem.Enabled  = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                btnGhi.Enabled   = false;

                groupBox1.Enabled = false;

                break;
            }
        }
Example #11
0
        private void btnPhucHoi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (btnHieuChinh.Enabled == false || btnThem.Enabled == false)
            {
                mONHOCBindingSource.CancelEdit();
                this.mONHOCTableAdapter.Connection.ConnectionString = Program.connstr;

                if (btnThem.Enabled == false)
                {
                    mONHOCBindingSource.Position = vitri;
                }
                gcMonHoc.Enabled  = true;
                groupBox1.Enabled = false;
                btnThem.Enabled   = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnExit.Enabled = true;
                btnGhi.Enabled    = btnPhucHoi.Enabled = false;

                reload();
            }
            else
            {
                if (st.Count == 0)
                {
                    return;
                }

                Program.ObjectUndo objUndo = (Program.ObjectUndo)st.Pop();
                Object             obj     = objUndo.obj;
                switch (objUndo.type)
                {
                case Program.THEM:
                    MessageBox.Show("Khôi phục sau khi thêm");

                    String lenh = "";

                    try
                    {
                        lenh = obj.ToString();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                    Program.ExecSqlDataReader(lenh);
                    this.mONHOCTableAdapter.Fill(this.dS.MONHOC);
                    updateUIButtonPhucHoi();

                    break;

                case Program.HIEU_CHINH:
                    MessageBox.Show("Khôi phục sau khi hiệu chỉnh");
                    try
                    {
                        MonHoc mhChinh = (MonHoc)objUndo.obj;
                        MessageBox.Show(mhChinh.tenMonHoc);

                        if (Program.conn.State == ConnectionState.Closed)
                        {
                            Program.conn.Open();
                        }
                        String strLenh = "dbo.sp_UndoHieuChinhMonHoc";
                        Program.sqlcmd             = Program.conn.CreateCommand();
                        Program.sqlcmd.CommandType = CommandType.StoredProcedure;
                        Program.sqlcmd.CommandText = strLenh;
                        Program.sqlcmd.Parameters.Add("@MAMH", SqlDbType.Text).Value  = mhChinh.maMonHoc;
                        Program.sqlcmd.Parameters.Add("@TENMH", SqlDbType.Text).Value = convertStringToUTF8(mhChinh.tenMonHoc);

                        Program.sqlcmd.ExecuteNonQuery();
                        Program.conn.Close();

                        reload();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                    break;

                case Program.XOA:
                    MessageBox.Show("Khôi phục sau khi xóa");
                    try
                    {
                        MonHoc mhXoa = (MonHoc)objUndo.obj;

                        if (Program.conn.State == ConnectionState.Closed)
                        {
                            Program.conn.Open();
                        }
                        String strLenh = "dbo.sp_InsertMonHoc";
                        Program.sqlcmd             = Program.conn.CreateCommand();
                        Program.sqlcmd.CommandType = CommandType.StoredProcedure;
                        Program.sqlcmd.CommandText = strLenh;
                        Program.sqlcmd.Parameters.Add("@MAMH", SqlDbType.Text).Value  = mhXoa.maMonHoc;
                        Program.sqlcmd.Parameters.Add("@TENMH", SqlDbType.Text).Value = convertStringToUTF8(mhXoa.tenMonHoc);

                        Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
                        Program.sqlcmd.ExecuteNonQuery();
                        Program.conn.Close();
                        String Ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString();
                        if (Ret == "1")
                        {
                            MessageBox.Show("Undo success");
                        }
                        else
                        {
                            MessageBox.Show("Undo failed");
                        }

                        reload();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    break;
                }
            }
        }