/// <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; } }
/// <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); } }