Пример #1
0
        /// <summary>
        ///
        /// Hàm xoá bản ghi, sẽ xoá các bản ghi liên quan nếu các bảng liên quan là lấy giá trị của bản ghi hiện tại là khoá chính
        /// Còn không, đổi giá trị thuộc tính của bản ghi liên kết tới bản ghi hiện tại là null
        ///
        /// </summary>
        /// <param name="_NameTable"></param>
        /// <param name="_Value"></param>
        private void DeleteRecord(MyStruct.MyTableName _NameTable, object _Value)
        {
            string messageError = "";

            switch (_NameTable)
            {
            case MyStruct.MyTableName.DUAN:
                MyStruct.DUAN da = _Value as MyStruct.DUAN;
                if (!GUI.Delete.DUAN.DeleteRecord_Primary(da.MADA))
                {
                    if (DialogResult.OK ==
                        MessageBox.Show(
                            "Không thể xoá bản ghi!\nBản ghi hiện tại liên kết với các bản ghi trong Table:\n"
                            + "- PHANCONG\n\nBạn có muốn xoá tất cả các bản ghi liên kết với bảng hiện tại không?",
                            "Cảnh báo xoá", MessageBoxButtons.OKCancel))
                    {
                        if (!GUI.Delete.PHANCONG.DeleteAllRecord_HaveTableX(MyStruct.PHANCONG.enumStruct.MADA,
                                                                            da.MADA.ToString()))
                        {
                            messageError += "\n\n- PHANCONG";
                        }

                        if (!GUI.Delete.DUAN.DeleteRecord_Primary(da.MADA))
                        {
                            messageError += "\n\n- DUAN";
                        }

                        // thông báo lỗi
                        if (!string.IsNullOrEmpty(messageError))
                        {
                            MessageBox.Show("Không thể sửa hoặc xoá bản ghi trong table:" + messageError);
                        }
                        else
                        {
                            MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- PHANCONG\n- DUAN");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- DUAN");
                }
                break;

            case MyStruct.MyTableName.LUONG:
                MyStruct.LUONG lg = _Value as MyStruct.LUONG;
                if (!GUI.Delete.LUONG.DeleteRecord_Primary(lg.BACLUONG))
                {
                    if (DialogResult.OK ==
                        MessageBox.Show(
                            "Không thể xoá bản ghi!\nBản ghi hiện tại liên kết với các bản ghi trong Table:\n"
                            + "- NHANVIEN\n\nBạn có muốn sửa tất cả các bản ghi liên kết với bảng hiện tại không?",
                            "Cảnh báo sửa", MessageBoxButtons.OKCancel))
                    {
                        if (!GUI.Update.NHANVIEN.UpdateAllRecord_HaveTableX(
                                MyStruct.NHANVIEN.enumStruct.BACLUONG, "null"))
                        {
                            messageError += "\n\n- NHANVIEN";
                        }

                        if (!GUI.Delete.LUONG.DeleteRecord_Primary(lg.BACLUONG))
                        {
                            messageError += "\n\n- LUONG";
                        }

                        // thông báo lỗi
                        if (!string.IsNullOrEmpty(messageError))
                        {
                            MessageBox.Show("Không thể sửa hoặc xoá bản ghi trong table:" + messageError);
                        }
                        else
                        {
                            MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- NHANVIEN\n- LUONG");
                        }
                    }
                }
                break;

            case MyStruct.MyTableName.NHANVIEN:
                MyStruct.NHANVIEN nv = _Value as MyStruct.NHANVIEN;
                if (!GUI.Delete.NHANVIEN.DeleteRecord_Primary(nv.MANV))
                {
                    if (DialogResult.OK ==
                        MessageBox.Show(
                            "Không thể xoá bản ghi!\nBản ghi hiện tại liên kết với các bản ghi trong Table:\n"
                            + "- PHANCONG\n\nBạn có muốn xoá tất cả các bản ghi liên kết với bảng hiện tại không?",
                            "Cảnh báo xoá", MessageBoxButtons.OKCancel))
                    {
                        if (!GUI.Delete.PHANCONG.DeleteAllRecord_HaveTableX(MyStruct.PHANCONG.enumStruct.MANV, nv.MANV.ToString()))
                        {
                            messageError += "\n\n- PHANCONG";
                        }

                        if (!GUI.Delete.NHANVIEN.DeleteRecord_Primary(nv.MANV))
                        {
                            messageError += "\n\n- NHANVIEN";
                        }

                        // thông báo lỗi
                        if (!string.IsNullOrEmpty(messageError))
                        {
                            MessageBox.Show("Không thể xoá bản ghi trong table:" + messageError);
                        }
                        else
                        {
                            MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- PHANCONG\n- NHANVIEN");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- NHANVIEN");
                }
                break;

            case MyStruct.MyTableName.PHANCONG:
                MyStruct.PHANCONG pc = _Value as MyStruct.PHANCONG;
                if (!GUI.Delete.PHANCONG.DeleteRecord_Primary(pc.MANV, pc.MADA))
                {
                    #region để dành nâng cấp nếu thay đổi database và có table liên kết đến bảng PHANCONG

                    /*
                     * //if (DialogResult.OK ==
                     * //        MessageBox.Show(
                     * //            "Không thể xoá bản ghi!\nBản ghi hiện tại liên kết với các bản ghi trong Table:\n"
                     * //            + "- ?? :D ??\n\nBạn có muốn xoá tất cả các bản ghi liên kết với bảng hiện tại không?",
                     * //            "Cảnh báo xoá", MessageBoxButtons.OKCancel))
                     * //{
                     * //    if (!GUI.Delete.PHANCONG.DeleteAllRecord_HaveTableX(MyStruct.PHANCONG.enumStruct.MADA,
                     * //            pc.MADA.ToString()))
                     * //    {
                     * //        messageError += "\n\n- PHANCONG";
                     * //    }
                     *
                     * //    if (!GUI.Delete.DUAN.DeleteRecord_Primary(pc.MADA))
                     * //    {
                     * //        messageError += "\n\n- DUAN";
                     * //    }
                     *
                     * //    // thông báo lỗi
                     * //    if (!string.IsNullOrEmpty(messageError))
                     * //    {
                     * //        MessageBox.Show("Không thể xoá bản ghi trong table:" + messageError);
                     * //    }
                     * //    else
                     * //    {
                     * //        MessageBox.Show("Xoá bản ghi thành công, table:\n\n- PHANCONG\n- DUAN");
                     * //    }
                     * //}
                     */
                    #endregion

                    MessageBox.Show("Không thể xoá bản ghi!");
                }
                else
                {
                    MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- PHANCONG");
                }
                break;

            case MyStruct.MyTableName.PHONGBAN:
                MyStruct.PHONGBAN pb = _Value as MyStruct.PHONGBAN;
                if (!GUI.Delete.PHONGBAN.DeleteRecord_Primary(pb.MAPB))
                {
                    if (DialogResult.OK ==
                        MessageBox.Show(
                            "Không thể xoá bản ghi!\nBản ghi hiện tại liên kết với các bản ghi trong Table:\n"
                            + "- DUAN\n-NHANVIEN\n\nBạn có muốn sửa tất cả các bản ghi liên kết với bảng hiện tại không?",
                            "Cảnh báo sửa", MessageBoxButtons.OKCancel))
                    {
                        if (!GUI.Update.NHANVIEN.UpdateAllRecord_HaveTableX(MyStruct.NHANVIEN.enumStruct.MAPB, "null"))
                        {
                            messageError += "\n\n- NHANVIEN";
                        }

                        if (!GUI.Update.DUAN.UpdateAllRecord_HaveTable(MyStruct.DUAN.enumStruct.MAPB, "null"))
                        {
                            messageError += "\n\n- DUAN";
                        }

                        if (!GUI.Delete.PHONGBAN.DeleteRecord_Primary(pb.MAPB))
                        {
                            messageError += "\n\n- PHONGBAN";
                        }

                        // thông báo lỗi
                        if (!string.IsNullOrEmpty(messageError))
                        {
                            MessageBox.Show("Không thể xoá bản ghi trong table:" + messageError);
                        }
                        else
                        {
                            MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- NHANVIEN\n- DUAN\n- PHONGBAN");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- PHONGBAN");
                }
                break;

            case MyStruct.MyTableName.TAIKHOAN:
                MyStruct.TAIKHOAN tk = _Value as MyStruct.TAIKHOAN;
                if (!GUI.Delete.TAIKHOAN.DeleteRecord_Primary(tk.ACCOUNT))
                {
                    if (DialogResult.OK ==
                        MessageBox.Show(
                            "Không thể xoá bản ghi!\nBản ghi hiện tại liên kết với các bản ghi trong Table:\n"
                            + "- PHANCONG\n\nBạn có muốn xoá tất cả các bản ghi liên kết với bảng hiện tại không?",
                            "Cảnh báo xoá", MessageBoxButtons.OKCancel))
                    {
                        if (!GUI.Update.NHANVIEN.UpdateAllRecord_HaveTableX(MyStruct.NHANVIEN.enumStruct.ACCOUNT, "null"))
                        {
                            messageError += "\n\n- NHANVIEN";
                        }

                        if (!GUI.Delete.TAIKHOAN.DeleteRecord_Primary(tk.ACCOUNT))
                        {
                            messageError += "\n\n- TAIKHOAN";
                        }

                        // thông báo lỗi
                        if (!string.IsNullOrEmpty(messageError))
                        {
                            MessageBox.Show("Không thể xoá bản ghi trong table:" + messageError);
                        }
                        else
                        {
                            MessageBox.Show("Xoá bản ghi thành công, table:\n\n- NHANVIEN\n- TAIKHOAN");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Xoá (sửa) bản ghi thành công, table:\n\n- TAIKHOAN");
                }
                break;

            default:
                break;
            }
        }
Пример #2
0
        private void button5_LuuThayDoi_Click(object sender, EventArgs e)
        {
            try
            {
                bool bSuccess = false;

                switch (eNameTable)
                {
                case MyStruct.MyTableName.DUAN:
                    GUI.MyStruct.DUAN da = new MyStruct.DUAN();
                    // gán giá trị từ textbox vào biến
                    da       = AddData_FromListTextbox_ToObject(ref ltextbox, MyStruct.MyTableName.DUAN) as MyStruct.DUAN;
                    bSuccess = GUI.Update.DUAN.UpdateOneRecord(da);
                    break;

                case MyStruct.MyTableName.LUONG:
                    MyStruct.LUONG lg = new MyStruct.LUONG();
                    // gán giá trị từ textbox vào biến
                    lg       = AddData_FromListTextbox_ToObject(ref ltextbox, MyStruct.MyTableName.LUONG) as MyStruct.LUONG;
                    bSuccess = GUI.Update.LUONG.UpdateOneRecord(lg);
                    break;

                case MyStruct.MyTableName.NHANVIEN:
                    MyStruct.NHANVIEN nv = new MyStruct.NHANVIEN();
                    // gán giá trị từ textbox vào biến
                    nv       = AddData_FromListTextbox_ToObject(ref ltextbox, MyStruct.MyTableName.NHANVIEN) as MyStruct.NHANVIEN;
                    bSuccess = GUI.Update.NHANVIEN.UpdateOneRecord(nv);
                    break;

                case MyStruct.MyTableName.PHANCONG:
                    MyStruct.PHANCONG pc = new MyStruct.PHANCONG();
                    // gán giá trị từ textbox vào biến
                    pc       = AddData_FromListTextbox_ToObject(ref ltextbox, MyStruct.MyTableName.PHANCONG) as MyStruct.PHANCONG;
                    bSuccess = GUI.Update.PHANCONG.UpdateOneRecord(pc);
                    break;

                case MyStruct.MyTableName.PHONGBAN:
                    MyStruct.PHONGBAN pb = new MyStruct.PHONGBAN();
                    // gán giá trị từ textbox vào biến
                    pb       = AddData_FromListTextbox_ToObject(ref ltextbox, MyStruct.MyTableName.PHONGBAN) as MyStruct.PHONGBAN;
                    bSuccess = GUI.Update.PHONGBAN.UpdateOneRecord(pb);
                    break;

                case MyStruct.MyTableName.TAIKHOAN:
                    MyStruct.TAIKHOAN tk = new MyStruct.TAIKHOAN();
                    // gán giá trị từ textbox vào biến
                    tk       = AddData_FromListTextbox_ToObject(ref ltextbox, MyStruct.MyTableName.TAIKHOAN) as MyStruct.TAIKHOAN;
                    bSuccess = GUI.Update.TAIKHOAN.UpdateOneRecord(tk);
                    break;

                default:
                    break;
                }
                if (bSuccess)
                {
                    MessageBox.Show("Update thành công !");
                }
            }
            catch
            {
                MessageBox.Show("Không thể lưu bản ghi\n\nMột thuộc tính bị trống, xin hãy kiểm tra lại!");
            }

            this.button7_HuyBo_Click(sender, e);
            return;
        }
Пример #3
0
        private void button3_Them_Click(object sender, EventArgs e)
        {
            if (!bClickButtonThemYet)
            {
                // Đổi trạng thái chặn cái nút bấm khác + thay đổi thông tin
                button3_Them.Text       = "Lưu mới";
                bClickButtonThemYet     = true;
                button4_ThayDoi.Enabled = button5_LuuThayDoi.Enabled = button6_Xoa.Enabled = false;
                button7_HuyBo.Enabled   = true;
                bIgnoreRowEnter         = true;

                // làm rỗng input để điền thông tin mới vào nè
                this.InitInput_Textbox(ref ltextbox);
                StateAll_ListTextBox(ref ltextbox, true);
                StateAll_ListDateTimePicker(ref ldatetimepicker, true);

                // Chỉnh những dòng nào ko được phép sửa (VD: Khoá chính) + tự động cấp mã cho bản ghi mới
                switch (eNameTable)
                {
                case MyStruct.MyTableName.DUAN:
                    ltextbox[0].Text    = GUI.Insert.DUAN.GetNextIndex().ToString();
                    ltextbox[0].Enabled = false;
                    break;

                case MyStruct.MyTableName.LUONG:
                    ltextbox[0].Text    = GUI.Insert.LUONG.GetNextIndex().ToString();
                    ltextbox[0].Enabled = false;
                    break;

                case MyStruct.MyTableName.NHANVIEN:
                    ltextbox[0].Text    = GUI.Insert.NHANVIEN.GetNextIndex().ToString();
                    ltextbox[0].Enabled = false;
                    break;

                case MyStruct.MyTableName.PHONGBAN:
                    ltextbox[0].Text    = GUI.Insert.PHONGBAN.GetNextIndex().ToString();
                    ltextbox[0].Enabled = false;
                    break;

                case MyStruct.MyTableName.TAIKHOAN:
                case MyStruct.MyTableName.PHANCONG:
                default:
                    break;
                }
            }
            else
            {
                // Đổi trạng thái chặn cái nút bấm khác + thay đổi thông tin
                bClickButtonThemYet = false;
                button3_Them.Text   = "Thêm";
                EditMode(true);
                bIgnoreRowEnter = false;

                // cái này để lưu bản ghi đã nhập vào trong Database nè
                bool bSuccess = false;
                switch (eNameTable)
                {
                case MyStruct.MyTableName.DUAN:
                    MyStruct.DUAN da = AddData_FromListTextbox_ToObject(ref ltextbox, MyStruct.MyTableName.DUAN) as MyStruct.DUAN;
                    bSuccess = GUI.Insert.DUAN.CreateNewRecord(da);
                    break;

                case MyStruct.MyTableName.LUONG:
                    MyStruct.LUONG lg = AddData_FromListTextbox_ToObject
                                            (ref ltextbox, MyStruct.MyTableName.LUONG)
                                        as MyStruct.LUONG;
                    bSuccess = GUI.Insert.LUONG.CreateNewRecord(lg);
                    break;

                case MyStruct.MyTableName.NHANVIEN:
                    MyStruct.NHANVIEN nv = AddData_FromListTextbox_ToObject
                                               (ref ltextbox, MyStruct.MyTableName.NHANVIEN)
                                           as MyStruct.NHANVIEN;
                    bSuccess = GUI.Insert.NHANVIEN.CreateNewRecord(nv);
                    break;

                case MyStruct.MyTableName.PHANCONG:
                    MyStruct.PHANCONG pc = AddData_FromListTextbox_ToObject
                                               (ref ltextbox, MyStruct.MyTableName.PHANCONG)
                                           as MyStruct.PHANCONG;
                    bSuccess = GUI.Insert.PHANCONG.CreateNewRecord(pc);
                    break;

                case MyStruct.MyTableName.PHONGBAN:
                    MyStruct.PHONGBAN pb = AddData_FromListTextbox_ToObject
                                               (ref ltextbox, MyStruct.MyTableName.PHONGBAN)
                                           as MyStruct.PHONGBAN;
                    bSuccess = GUI.Insert.PHONGBAN.CreateNewRecord(pb);
                    break;

                case MyStruct.MyTableName.TAIKHOAN:
                    MyStruct.TAIKHOAN tk = AddData_FromListTextbox_ToObject
                                               (ref ltextbox, MyStruct.MyTableName.TAIKHOAN)
                                           as MyStruct.TAIKHOAN;
                    bSuccess = GUI.Insert.TAIKHOAN.CreateNewRecord(tk);
                    break;

                default:
                    break;
                }

                /// cái này chỉ là thông báo kết quả
                if (bSuccess)
                {
                    MessageBox.Show("Tạo bản ghi mới thành công!");
                }
                else
                {
                    MessageBox.Show("Không thể tạo bản ghi!\n\nMã lỗi 100x000012");
                }
            }
        }