Exemple #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;
            }
        }
Exemple #2
0
        /// <summary>
        ///
        /// Hàm này để gán giá trị của các textbox trong list<textbox> vào từng kiểu dữ liệu tương ứng
        ///
        /// </summary>
        /// <param name="lt"></param>
        /// <param name="TableName"></param>
        /// <returns></returns>
        private object AddData_FromListTextbox_ToObject(ref List <TextBox> lt, MyStruct.MyTableName TableName)
        {
            int itam = 0;

            switch (TableName)
            {
            case MyStruct.MyTableName.DUAN:
                GUI.MyStruct.DUAN da = new MyStruct.DUAN();
                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MADA"));
                da.MADA = int.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MAPB"));
                da.MAPB = int.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                itam     = llabel.FindIndex(n => string.Equals(n.Text, @"TENDA"));
                da.TENDA = string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text;

                itam       = llabel.FindIndex(n => string.Equals(n.Text, @"DIADIEM"));
                da.DIADIEM = string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text;

                itam         = llabel.FindIndex(n => string.Equals(n.Text, @"TONGSOGIO"));
                da.TONGSOGIO = float.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                return(da);

            case MyStruct.MyTableName.LUONG:
                MyStruct.LUONG lg = new MyStruct.LUONG();
                itam        = llabel.FindIndex(n => string.Equals(n.Text, @"BACLUONG"));
                lg.BACLUONG = int.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                itam          = llabel.FindIndex(n => string.Equals(n.Text, @"LUONGCOBAN"));
                lg.LUONGCOBAN = int.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                itam         = llabel.FindIndex(n => string.Equals(n.Text, @"HESOLUONG"));
                lg.HESOLUONG = float.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                itam          = llabel.FindIndex(n => string.Equals(n.Text, @"HESOPHUCAP"));
                lg.HESOPHUCAP = float.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                return(lg);

            case MyStruct.MyTableName.NHANVIEN:
                MyStruct.NHANVIEN nv = new MyStruct.NHANVIEN();
                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MANV"));
                nv.MANV = int.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MAPB"));
                nv.MAPB = int.Parse(string.IsNullOrWhiteSpace(ltextbox[itam].Text) ? null : ltextbox[itam].Text);

                itam     = llabel.FindIndex(n => string.Equals(n.Text, @"TENNV"));
                nv.TENNV = ltextbox[itam].Text;

                itam = llabel.FindIndex(n => string.Equals(n.Text, @"NGAYSINH"));
                string stam = string.IsNullOrWhiteSpace(ltextbox[itam].Text)
                                    ? new DateTime(2000, 1, 1).ToShortDateString()
                                    : ltextbox[itam].Text;
                nv.NGAYSINH = DateTime.Parse(stam);

                itam        = llabel.FindIndex(n => string.Equals(n.Text, @"GIOITINH"));
                nv.GIOITINH = ltextbox[itam].Text;

                itam      = llabel.FindIndex(n => string.Equals(n.Text, @"MA_NGS"));
                nv.MA_NGS = int.Parse(ltextbox[itam].Text);

                itam        = llabel.FindIndex(n => string.Equals(n.Text, @"BACLUONG"));
                nv.BACLUONG = int.Parse(ltextbox[itam].Text);

                itam      = llabel.FindIndex(n => string.Equals(n.Text, @"DIACHI"));
                nv.DIACHI = ltextbox[itam].Text;

                itam       = llabel.FindIndex(n => string.Equals(n.Text, @"ACCOUNT"));
                nv.ACCOUNT = ltextbox[itam].Text;

                return(nv);

            case MyStruct.MyTableName.PHANCONG:
                MyStruct.PHANCONG pc = new MyStruct.PHANCONG();
                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MANV"));
                pc.MANV = int.Parse(ltextbox[itam].Text);

                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MADA"));
                pc.MADA = int.Parse(ltextbox[itam].Text);

                itam     = llabel.FindIndex(n => string.Equals(n.Text, @"SOGIO"));
                pc.SOGIO = float.Parse(ltextbox[itam].Text);

                return(pc);

            case MyStruct.MyTableName.PHONGBAN:
                MyStruct.PHONGBAN pb = new MyStruct.PHONGBAN();
                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MAPB"));
                pb.MAPB = int.Parse(ltextbox[itam].Text);

                itam     = llabel.FindIndex(n => string.Equals(n.Text, @"TENPB"));
                pb.TENPB = ltextbox[itam].Text;

                itam    = llabel.FindIndex(n => string.Equals(n.Text, @"MATP"));
                pb.MATP = int.Parse(ltextbox[itam].Text);

                itam       = llabel.FindIndex(n => string.Equals(n.Text, @"DIADIEM"));
                pb.DIADIEM = ltextbox[itam].Text;

                itam      = llabel.FindIndex(n => string.Equals(n.Text, @"NGAYNC"));
                pb.NGAYNC = DateTime.Parse(DateTime.Parse(ltextbox[itam].Text).ToShortDateString());

                return(pb);

            case MyStruct.MyTableName.TAIKHOAN:
                MyStruct.TAIKHOAN tk = new MyStruct.TAIKHOAN();
                itam       = llabel.FindIndex(n => string.Equals(n.Text, @"ACCOUNT"));
                tk.ACCOUNT = ltextbox[itam].Text;

                itam        = llabel.FindIndex(n => string.Equals(n.Text, @"PASSWORD"));
                tk.PASSWORD = ltextbox[itam].Text;

                itam      = llabel.FindIndex(n => string.Equals(n.Text, @"ACCESS"));
                tk.ACCESS = ltextbox[itam].Text;

                return(tk);

            default:
                return(null);
            }
        }