public ActionResult PerformActionDeletePatientExam(SysTrace mytrace, string v_MaLuotkham, int v_Patient_ID, ref string ErrMsg) { int record = -1; try { using (var scope = new TransactionScope()) { using (var db = new SharedDbConnectionScope()) { KcbChidinhclCollection objAssignInfo = new KcbChidinhclController().FetchByQuery( KcbChidinhcl.CreateQuery().AddWhere(KcbChidinhcl.Columns.MaLuotkham, Comparison.Equals, v_MaLuotkham)); if (objAssignInfo.Count > 0) { ErrMsg = "Bệnh nhân đã được chỉ định cận lâm sàng nên bạn không thể xóa thông tin. Đề nghị hủy các phiếu chỉ định CLS trước khi xóa"; return ActionResult.Exception; } KcbDonthuocCollection prescriptionCollection = new KcbDonthuocController().FetchByQuery( KcbDonthuoc.CreateQuery().AddWhere(KcbDonthuoc.Columns.MaLuotkham, Comparison.Equals, v_MaLuotkham)); if (prescriptionCollection.Count > 0) { ErrMsg = "Bệnh nhân đã được kê đơn thuốc nên bạn không thể xóa thông tin. Đề nghị hủy các đơn thuốc trước khi xóa"; return ActionResult.Exception; } NoitruTamungCollection LstNoitruTamung = new NoitruTamungController().FetchByQuery( NoitruTamung.CreateQuery().AddWhere(NoitruTamung.Columns.MaLuotkham, Comparison.Equals, v_MaLuotkham)); if (LstNoitruTamung.Count > 0) { ErrMsg = "Bệnh nhân đã nộp tiền tạm ứng nên bạn không thể xóa thông tin. Đề nghị hủy thông tin tạm ứng trước khi xóa"; return ActionResult.Exception; } // XÓA chi định tự động new Delete().From(KcbChidinhcl.Schema).Where(KcbChidinhcl.Columns.MaLuotkham).IsEqualTo( v_MaLuotkham) .And(KcbChidinhcl.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID).Execute(); //XÓA THÔNG TIN ĐĂNG KÝ KHÁM new Delete().From(KcbDangkyKcb.Schema).Where(KcbDangkyKcb.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(KcbDangkyKcb.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .Execute(); //XÓA THÔNG TIN ĐĂNG KÝ KHÁM new Delete().From(KcbDangkySokham.Schema).Where(KcbDangkySokham.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(KcbDangkySokham.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .Execute(); //XÓA THÔNG TIN ĐĂNG KÝ KHÁM new Delete().From(KcbLichsuDoituongKcb.Schema).Where(KcbLichsuDoituongKcb.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(KcbLichsuDoituongKcb.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .Execute(); new Delete().From(NoitruPhanbuonggiuong.Schema).Where(NoitruPhanbuonggiuong.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(NoitruPhanbuonggiuong.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) //.And(NoitruPhanbuonggiuong.Columns.NoiTru).IsEqualTo(0) .Execute(); new Delete().From(NoitruPhieudieutri.Schema).Where(NoitruPhieudieutri.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(NoitruPhieudieutri.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .Execute(); new Delete().From(NoitruTamung.Schema).Where(NoitruTamung.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(NoitruTamung.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .Execute(); //LẤY VỀ CÁC THÔNG TIN LẦN KHÁM CỦA BỆNH NHÂN KcbLuotkhamCollection tPatientExamCollection = new KcbLuotkhamController().FetchByQuery( KcbLuotkham.CreateQuery().AddWhere(KcbLuotkham.Columns.IdBenhnhan, Comparison.Equals, v_Patient_ID)); //XÓA LẦN ĐĂNG KÝ KHÁM CỦA BỆNH NHÂN new Delete().From(KcbLuotkham.Schema).Where(KcbLuotkham.Columns.MaLuotkham).IsEqualTo( v_MaLuotkham).Execute(); if (THU_VIEN_CHUNG.Laygiatrithamsohethong("KCB_SUDUNGLAI_MALUOTKHAM_DAXOA", "0", false) == "1") { KcbDanhsachBenhnhan objBN = KcbDanhsachBenhnhan.FetchByID(v_Patient_ID); //Cập nhật lại mã lượt khám để có thể dùng cho bệnh nhân khác new Update(KcbDmucLuotkham.Schema) .Set(KcbDmucLuotkham.Columns.TrangThai).EqualTo(0) .Set(KcbDmucLuotkham.Columns.UsedBy).EqualTo(DBNull.Value) .Set(KcbDmucLuotkham.Columns.StartTime).EqualTo(DBNull.Value) .Set(KcbDmucLuotkham.Columns.EndTime).EqualTo(null) .Where(KcbDmucLuotkham.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(KcbDmucLuotkham.Columns.Loai).IsEqualTo((byte)(objBN.KieuBenhnhan == 0 ? 0 : 1)) .And(KcbDmucLuotkham.Columns.TrangThai).IsEqualTo(2) .Execute(); ; } //KIỂM TRA NẾU BỆNH NHÂN CÓ >1 LẦN KHÁM THÌ CHỈ XÓA LẦN ĐĂNG KÝ ĐANG CHỌN. NẾU <= 1 LẦN KHÁM THÌ XÓA LUÔN THÔNG TIN BỆNH NHÂN if (tPatientExamCollection.Count < 2) { new Delete().From(KcbDanhsachBenhnhan.Schema).Where(KcbDanhsachBenhnhan.Columns.IdBenhnhan).IsEqualTo( v_Patient_ID).Execute(); } mytrace.Desc = string.Format("Xóa Bệnh nhân ID={0}, Code={1}, Name={2}", v_Patient_ID.ToString(), v_MaLuotkham, v_MaLuotkham); mytrace.Lot = 0; mytrace.IsNew = true; mytrace.Save(); } scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { return ActionResult.Error; } }
public ActionResult PerformActionDeletePatientExam(string v_Patient_Code, int v_Patient_ID) { int record = -1; try { using (var scope = new TransactionScope()) { using (var db = new SharedDbConnectionScope()) { //LẤY THÔNG TIN CHỈ ĐỊNH DỊCH VỤ CỦA LẦN KHÁM KcbChidinhclCollection objAssignInfo = new KcbChidinhclController().FetchByQuery( KcbChidinhcl.CreateQuery().AddWhere(KcbChidinhcl.Columns.MaLuotkham, Comparison.Equals, v_Patient_Code)); //LẤY THÔNG TIN CHỈ ĐỊNH THUỐC CỦA LẦN KHÁM KcbDonthuocCollection prescriptionCollection = new KcbDonthuocController().FetchByQuery( KcbDonthuoc.CreateQuery().AddWhere(KcbDonthuoc.Columns.MaLuotkham, Comparison.Equals, v_Patient_Code)); //KIẾM TRA NẾU CÓ THÔNG TIN CHỈ ĐỊNH DV HOẶC THUỐC THÌ KHÔNG ĐC PHÉP XÓA if (prescriptionCollection.Count > 0 || objAssignInfo.Count > 0) return ActionResult.Exception; // XÓA chi định tự động new Delete().From(KcbChidinhcl.Schema).Where(KcbChidinhcl.Columns.MaLuotkham).IsEqualTo( v_Patient_Code) .And(KcbChidinhcl.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID).Execute(); //XÓA THÔNG TIN ĐĂNG KÝ KHÁM new Delete().From(KcbDangkyKcb.Schema).Where(KcbDangkyKcb.Columns.MaLuotkham).IsEqualTo(v_Patient_Code) .And(KcbDangkyKcb.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .Execute(); new Delete().From(NoitruPhanbuonggiuong.Schema).Where(NoitruPhanbuonggiuong.Columns.MaLuotkham).IsEqualTo(v_Patient_Code) .And(NoitruPhanbuonggiuong.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .And(NoitruPhanbuonggiuong.Columns.NoiTru).IsEqualTo(0) .Execute(); //LẤY VỀ CÁC THÔNG TIN LẦN KHÁM CỦA BỆNH NHÂN KcbLuotkhamCollection tPatientExamCollection = new KcbLuotkhamController().FetchByQuery( KcbLuotkham.CreateQuery().AddWhere(KcbLuotkham.Columns.IdBenhnhan, Comparison.Equals, v_Patient_ID)); //XÓA LẦN ĐĂNG KÝ KHÁM CỦA BỆNH NHÂN new Delete().From(KcbLuotkham.Schema).Where(KcbLuotkham.Columns.MaLuotkham).IsEqualTo( v_Patient_Code).Execute(); //KIỂM TRA NẾU BỆNH NHÂN CÓ >1 LẦN KHÁM THÌ CHỈ XÓA LẦN ĐĂNG KÝ ĐANG CHỌN. NẾU <= 1 LẦN KHÁM THÌ XÓA LUÔN THÔNG TIN BỆNH NHÂN if (tPatientExamCollection.Count < 2) { new Delete().From(KcbDanhsachBenhnhan.Schema).Where(KcbDanhsachBenhnhan.Columns.IdBenhnhan).IsEqualTo( v_Patient_ID).Execute(); } } scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { return ActionResult.Error; } }
public ActionResult PerformActionDeletePatientExam(string v_MaLuotkham, int v_Patient_ID) { int record = -1; try { using (var scope = new TransactionScope()) { using (var db = new SharedDbConnectionScope()) { //LẤY THÔNG TIN CHỈ ĐỊNH DỊCH VỤ CỦA LẦN KHÁM KcbChidinhclCollection objAssignInfo = new KcbChidinhclController().FetchByQuery( KcbChidinhcl.CreateQuery().AddWhere(KcbChidinhcl.Columns.MaLuotkham, Comparison.Equals, v_MaLuotkham)); //LẤY THÔNG TIN CHỈ ĐỊNH THUỐC CỦA LẦN KHÁM KcbDonthuocCollection prescriptionCollection = new KcbDonthuocController().FetchByQuery( KcbDonthuoc.CreateQuery().AddWhere(KcbDonthuoc.Columns.MaLuotkham, Comparison.Equals, v_MaLuotkham)); //KIẾM TRA NẾU CÓ THÔNG TIN CHỈ ĐỊNH DV HOẶC THUỐC THÌ KHÔNG ĐC PHÉP XÓA if (prescriptionCollection.Count > 0 || objAssignInfo.Count > 0) return ActionResult.Exception; // XÓA chi định tự động new Delete().From(KcbChidinhcl.Schema).Where(KcbChidinhcl.Columns.MaLuotkham).IsEqualTo( v_MaLuotkham) .And(KcbChidinhcl.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID).Execute(); //XÓA THÔNG TIN ĐĂNG KÝ KHÁM new Delete().From(KcbDangkyKcb.Schema).Where(KcbDangkyKcb.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(KcbDangkyKcb.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .Execute(); new Delete().From(NoitruPhanbuonggiuong.Schema).Where(NoitruPhanbuonggiuong.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(NoitruPhanbuonggiuong.Columns.IdBenhnhan).IsEqualTo(v_Patient_ID) .And(NoitruPhanbuonggiuong.Columns.NoiTru).IsEqualTo(0) .Execute(); //LẤY VỀ CÁC THÔNG TIN LẦN KHÁM CỦA BỆNH NHÂN KcbLuotkhamCollection tPatientExamCollection = new KcbLuotkhamController().FetchByQuery( KcbLuotkham.CreateQuery().AddWhere(KcbLuotkham.Columns.IdBenhnhan, Comparison.Equals, v_Patient_ID)); //XÓA LẦN ĐĂNG KÝ KHÁM CỦA BỆNH NHÂN new Delete().From(KcbLuotkham.Schema).Where(KcbLuotkham.Columns.MaLuotkham).IsEqualTo( v_MaLuotkham).Execute(); if (THU_VIEN_CHUNG.Laygiatrithamsohethong("KCB_SUDUNGLAI_MALUOTKHAM_DAXOA", "0", false) == "1") { KcbDanhsachBenhnhan objBN = KcbDanhsachBenhnhan.FetchByID(v_Patient_ID); //Cập nhật lại mã lượt khám để có thể dùng cho bệnh nhân khác new Update(KcbDmucLuotkham.Schema) .Set(KcbDmucLuotkham.Columns.TrangThai).EqualTo(0) .Set(KcbDmucLuotkham.Columns.UsedBy).EqualTo(DBNull.Value) .Set(KcbDmucLuotkham.Columns.StartTime).EqualTo(DBNull.Value) .Set(KcbDmucLuotkham.Columns.EndTime).EqualTo(null) .Where(KcbDmucLuotkham.Columns.MaLuotkham).IsEqualTo(v_MaLuotkham) .And(KcbDmucLuotkham.Columns.Loai).IsEqualTo((byte)(objBN.KieuBenhnhan == 0 ? 0 : 1)) .And(KcbDmucLuotkham.Columns.TrangThai).IsEqualTo(2) .Execute(); ; } //KIỂM TRA NẾU BỆNH NHÂN CÓ >1 LẦN KHÁM THÌ CHỈ XÓA LẦN ĐĂNG KÝ ĐANG CHỌN. NẾU <= 1 LẦN KHÁM THÌ XÓA LUÔN THÔNG TIN BỆNH NHÂN if (tPatientExamCollection.Count < 2) { new Delete().From(KcbDanhsachBenhnhan.Schema).Where(KcbDanhsachBenhnhan.Columns.IdBenhnhan).IsEqualTo( v_Patient_ID).Execute(); } } scope.Complete(); return ActionResult.Success; } } catch (Exception ex) { return ActionResult.Error; } }