Ejemplo n.º 1
0
        private void xuLyHieuChinh(String maSV, String ho, String ten, bool phaiSV, DateTime ngaySinh,
                                   String noiSinh, String diaChi, bool nghiHoc)
        {
            try
            {
                DsSinhVienTheoLopBindingSource.EndEdit();
                DsSinhVienTheoLopBindingSource.ResetCurrentItem();
                this.DsSinhVienTheoLopTableAdapter.Connection.ConnectionString = Program.connstr;
                this.DsSinhVienTheoLopTableAdapter.Update(maSV, ho, ten, phaiSV, ngaySinh, noiSinh, diaChi, nghiHoc);

                MessageBox.Show("Hiệu chỉnh thành công", "", MessageBoxButtons.OK);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi hiệu chỉnh sinh viên.\n" + ex.Message, "", MessageBoxButtons.OK);
                return;
            }

            gcSinhVien.Enabled = true;
            btnThem.Enabled    = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnThoat.Enabled = true;
            btnGhi.Enabled     = false;

            panelDetail.Enabled = false;

            vitriLop = cmbLop.SelectedIndex;
            reload();
            cmbLop.SelectedIndex = vitriLop;
        }
Ejemplo n.º 2
0
        private void btnThem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            vitri = DsSinhVienTheoLopBindingSource.Position;
            panelDetail.Enabled = true;
            DsSinhVienTheoLopBindingSource.AddNew();
            checkPhaiSV.Checked  = false;
            checkNghiHoc.Checked = false;

            btnThem.Enabled     = btnHieuChinh.Enabled = btnXoa.Enabled = btnReload.Enabled = btnThoat.Enabled = false;
            btnGhi.Enabled      = true;
            gcSinhVien.Enabled  = false;
            choose              = Program.THEM;
            btnPhucHoi.Enabled  = true;
            panelDetail.Enabled = true;
            cmbKhoaSV.Enabled   = cmbLop.Enabled = false;
        }
Ejemplo n.º 3
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;
                }
            }
        }
Ejemplo n.º 4
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;
                }
            }
        }
Ejemplo n.º 5
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;
        }