public ActionResult PerformActionDeleteRegExam(int IdKham) { try { using (var scope = new TransactionScope()) { using (var db = new SharedDbConnectionScope()) { KcbDangkyKcb objRegExam = KcbDangkyKcb.FetchByID(IdKham); if (objRegExam != null) { new Delete().From(KcbDangkyKcb.Schema).Where(KcbDangkyKcb.Columns.IdKham).IsEqualTo(objRegExam.IdKham) .Or(KcbDangkyKcb.Columns.IdCha).IsEqualTo(objRegExam.IdKham).Execute(); new Delete().From(KcbChandoanKetluan.Schema).Where(KcbChandoanKetluan.Columns.IdKham).IsEqualTo( objRegExam.IdKham).Execute(); new Delete().From(NoitruPhanbuonggiuong.Schema).Where(NoitruPhanbuonggiuong.Columns.IdKham).IsEqualTo( objRegExam.IdKham).Execute(); new Delete().From(KcbChidinhcl.Schema).Where(KcbChidinhcl.Columns.IdKham).IsEqualTo( objRegExam.IdKham).Execute(); new Delete().From(KcbChidinhclsChitiet.Schema).Where(KcbChidinhclsChitiet.Columns.IdKham).IsEqualTo( objRegExam.IdKham).Execute(); new Delete().From(KcbDonthuoc.Schema).Where(KcbDonthuoc.Columns.IdKham).IsEqualTo( objRegExam.IdKham).Execute(); new Delete().From(KcbDonthuocChitiet.Schema).Where(KcbDonthuocChitiet.Columns.IdKham).IsEqualTo( objRegExam.IdKham).Execute(); KcbDangkyKcbCollection lstKham=new Select().From(KcbDangkyKcb.Schema).Where(KcbDangkyKcb.Columns.IdBenhnhan).IsEqualTo(objRegExam.IdBenhnhan) .And(KcbDangkyKcb.Columns.MaLuotkham).IsEqualTo(objRegExam.MaLuotkham).ExecuteAsCollection<KcbDangkyKcbCollection>(); if (lstKham.Count <= 0) { KcbLuotkham objluotkham=new Select().From(KcbLuotkham.Schema).Where(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(objRegExam.IdBenhnhan) .And(KcbLuotkham.Columns.MaLuotkham).IsEqualTo(objRegExam.MaLuotkham).ExecuteSingle<KcbLuotkham>(); objluotkham.IdKhoanoitru = -1; objluotkham.IdBuong = -1; objluotkham.IdGiuong = -1; objluotkham.IdNhapvien = -1; objluotkham.IdRavien = -1; objluotkham.TrangthaiNoitru = 0; objluotkham.TrangthaiNgoaitru = 0; objluotkham.TthaiChuyendi = 0; objluotkham.Locked = 0; objluotkham.MabenhChinh = ""; objluotkham.MabenhPhu = ""; objluotkham.LydoKetthuc = ""; objluotkham.IdBenhvienDi = -1; objluotkham.MotaNhapvien = ""; objluotkham.MarkOld(); objluotkham.IsNew = false; objluotkham.Save(); } } } scope.Complete(); return ActionResult.Success; } } catch (Exception exception) { return ActionResult.Error; } }
public ActionResult UpdateLanKham(SysTrace mytrace, KcbDanhsachBenhnhan objKcbDanhsachBenhnhan, KcbLuotkham objLuotkham, KcbDangkyKcb objKcbDangkyKcb, KcbDangkySokham objSoKCB, int KieuKham, decimal PtramBhytCu, decimal PtramBhytgoc, ref string Msg) { ActionResult _ActionResult = ActionResult.Success; try { using (var scope = new TransactionScope()) { using (var dbscope = new SharedDbConnectionScope()) { UpdatePatientInfo(objKcbDanhsachBenhnhan); long IdLichsuDoituongKcb = KcbLayIdDoituongKCBHientai(objLuotkham.IdBenhnhan, objLuotkham.MaLuotkham); KcbLichsuDoituongKcb objLichsuKcb = null; if (IdLichsuDoituongKcb > 0) { objLichsuKcb = KcbLichsuDoituongKcb.FetchByID(IdLichsuDoituongKcb); objLichsuKcb.MarkOld(); objLichsuKcb.IsNew = false; } else { objLichsuKcb = new KcbLichsuDoituongKcb(); objLichsuKcb.IsNew = true; } if (objLichsuKcb == null) { Msg = "NULL-->Không lấy được thông tin lịch sử đối tượng KCB của Bệnh nhân"; return ActionResult.Error; } objLichsuKcb.IdBenhnhan = objLuotkham.IdBenhnhan; objLichsuKcb.MaLuotkham = objLuotkham.MaLuotkham; objLichsuKcb.NgayHieuluc = objLuotkham.NgayTiepdon; objLichsuKcb.IdDoituongKcb = objLuotkham.IdDoituongKcb; objLichsuKcb.MaDoituongKcb = objLuotkham.MaDoituongKcb; objLichsuKcb.IdLoaidoituongKcb = objLuotkham.IdLoaidoituongKcb; objLichsuKcb.MatheBhyt = objLuotkham.MatheBhyt; objLichsuKcb.PtramBhyt = objLuotkham.PtramBhyt; objLichsuKcb.PtramBhytGoc = objLuotkham.PtramBhytGoc; objLichsuKcb.NgaybatdauBhyt = objLuotkham.NgaybatdauBhyt; objLichsuKcb.NgayketthucBhyt = objLuotkham.NgayketthucBhyt; objLichsuKcb.NoicapBhyt = objLuotkham.NoicapBhyt; objLichsuKcb.MaNoicapBhyt = objLuotkham.MaNoicapBhyt; objLichsuKcb.MaDoituongBhyt = objLuotkham.MaDoituongBhyt; objLichsuKcb.MaQuyenloi = objLuotkham.MaQuyenloi; objLichsuKcb.NoiDongtrusoKcbbd = objLuotkham.NoiDongtrusoKcbbd; objLichsuKcb.MaKcbbd = objLuotkham.MaKcbbd; objLichsuKcb.TrangthaiNoitru = 0; objLichsuKcb.DungTuyen = objLuotkham.DungTuyen; objLichsuKcb.Cmt = objLuotkham.Cmt; objLichsuKcb.IdRavien = -1; objLichsuKcb.IdBuong = -1; objLichsuKcb.IdGiuong = -1; objLichsuKcb.IdKhoanoitru = -1; objLichsuKcb.NguoiTao = globalVariables.UserName; objLichsuKcb.NgayTao = globalVariables.SysDate; objLichsuKcb.Save(); objLuotkham.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; objLuotkham.MarkOld(); objLuotkham.IsNew = false; objLuotkham.Save(); if (objSoKCB != null) { //Kiểm tra xem có sổ KCB hay chưa objSoKCB.MaLuotkham = Utility.sDbnull(objLuotkham.MaLuotkham); objSoKCB.IdBenhnhan = Utility.Int32Dbnull(objLuotkham.IdBenhnhan); KcbDangkySokham _temp = new Select().From(KcbDangkySokham.Schema).Where(KcbDangkySokham.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan) .And(KcbDangkySokham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .ExecuteSingle<KcbDangkySokham>(); if (_temp == null) { objSoKCB.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; objSoKCB.NgayTao = globalVariables.SysDate; objSoKCB.NguoiTao = globalVariables.UserName; objSoKCB.IsNew = true; objSoKCB.Save(); } else { if (Utility.Int64Dbnull(_temp.IdThanhtoan, 0) > 0)//Ko làm gì cả { Msg = "Đã thu tiền sổ khám của Bệnh nhân nên không được phép xóa hoặc cập nhật lại"; } else//Update lại sổ KCB { _temp.DonGia = objSoKCB.DonGia; _temp.BnhanChitra = objSoKCB.BnhanChitra; _temp.BhytChitra = objSoKCB.BhytChitra; _temp.PtramBhyt = objSoKCB.PtramBhyt; _temp.PtramBhytGoc = objSoKCB.PtramBhytGoc; _temp.PhuThu = objSoKCB.PhuThu; _temp.TuTuc = objSoKCB.TuTuc; _temp.NguonThanhtoan = objSoKCB.NguonThanhtoan; _temp.IdLoaidoituongkcb = objSoKCB.IdLoaidoituongkcb; _temp.IdDoituongkcb = objSoKCB.IdDoituongkcb; _temp.MaDoituongkcb = objSoKCB.MaDoituongkcb; _temp.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; _temp.Noitru = objSoKCB.Noitru; _temp.IdGoi = objSoKCB.IdGoi; _temp.TrongGoi = objSoKCB.TrongGoi; _temp.IdNhanvien = objSoKCB.IdNhanvien; _temp.NgaySua = globalVariables.SysDate; _temp.NguoiSua = globalVariables.UserName; _temp.IsNew = false; _temp.MarkOld(); _temp.Save(); } } } else { new Delete().From(KcbDangkySokham.Schema).Where(KcbDangkySokham.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan) .And(KcbDangkySokham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .And(KcbDangkySokham.Columns.TrangthaiThanhtoan).IsEqualTo(0) .Execute(); } //Kiểm tra nếu % bị thay đổi thì cập nhật lại tất cả các bảng if (PtramBhytCu != Utility.DecimaltoDbnull(objLuotkham.PtramBhyt, 0) || PtramBhytgoc != Utility.DecimaltoDbnull(objLuotkham.PtramBhytGoc, 0)) _ActionResult = THU_VIEN_CHUNG.UpdatePtramBHYT(objLuotkham, -1); if (_ActionResult == ActionResult.Cancel)//Báo không cho phép thay đổi phần trăm BHYT do đã có dịch vụ đã thanh toán { return _ActionResult; } if (objKcbDangkyKcb != null) { objKcbDangkyKcb.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; objKcbDangkyKcb.MaLuotkham = Utility.sDbnull(objLuotkham.MaLuotkham); objKcbDangkyKcb.IdBenhnhan = Utility.Int32Dbnull(objLuotkham.IdBenhnhan); AddRegExam(objKcbDangkyKcb, objLuotkham, false, KieuKham); } mytrace.Desc = string.Format("Cập nhật Bệnh nhân ID={0}, Code={1}, Name={2}", objKcbDanhsachBenhnhan.IdBenhnhan.ToString(), objLuotkham.MaLuotkham, objKcbDanhsachBenhnhan.TenBenhnhan); mytrace.Lot = 0; mytrace.IsNew = true; mytrace.Save(); scope.Complete(); return ActionResult.Success; } } } catch (Exception ex) { log.Error("Loi trong qua trinh update thong tin benh nhan {0}", ex); return ActionResult.Error; } }
public ActionResult ThemmoiBenhnhanCapcuu(SysTrace mytrace, KcbDanhsachBenhnhan objKcbDanhsachBenhnhan, KcbLuotkham objLuotkham, KcbDangkySokham objSoKCB, NoitruPhanbuonggiuong objBuonggiuong, DateTime ngaychuyenkhoa, ref string Msg) { int v_IdBenhnhan = -1; try { using (var scope = new TransactionScope()) { using (var dbscope = new SharedDbConnectionScope()) { objKcbDanhsachBenhnhan.IsNew = true; objKcbDanhsachBenhnhan.Save(); KcbLichsuDoituongKcb objLichsuKcb = new KcbLichsuDoituongKcb(); objLichsuKcb.IdBenhnhan = objKcbDanhsachBenhnhan.IdBenhnhan; objLichsuKcb.MaLuotkham = objLuotkham.MaLuotkham; objLichsuKcb.NgayHieuluc = objLuotkham.NgayTiepdon; objLichsuKcb.IdDoituongKcb = objLuotkham.IdDoituongKcb; objLichsuKcb.MaDoituongKcb = objLuotkham.MaDoituongKcb; objLichsuKcb.IdLoaidoituongKcb = objLuotkham.IdLoaidoituongKcb; objLichsuKcb.MatheBhyt = objLuotkham.MatheBhyt; objLichsuKcb.PtramBhyt = objLuotkham.PtramBhyt; objLichsuKcb.PtramBhytGoc = objLuotkham.PtramBhytGoc; objLichsuKcb.NgaybatdauBhyt = objLuotkham.NgaybatdauBhyt; objLichsuKcb.NgayketthucBhyt = objLuotkham.NgayketthucBhyt; objLichsuKcb.NoicapBhyt = objLuotkham.NoicapBhyt; objLichsuKcb.MaNoicapBhyt = objLuotkham.MaNoicapBhyt; objLichsuKcb.MaDoituongBhyt = objLuotkham.MaDoituongBhyt; objLichsuKcb.MaQuyenloi = objLuotkham.MaQuyenloi; objLichsuKcb.NoiDongtrusoKcbbd = objLuotkham.NoiDongtrusoKcbbd; objLichsuKcb.MaKcbbd = objLuotkham.MaKcbbd; objLichsuKcb.TrangthaiNoitru = 0; objLichsuKcb.DungTuyen = objLuotkham.DungTuyen; objLichsuKcb.Cmt = objLuotkham.Cmt; objLichsuKcb.IdRavien = objLuotkham.IdRavien; objLichsuKcb.IdBuong = objLuotkham.IdBuong; objLichsuKcb.IdGiuong = objLuotkham.IdGiuong; objLichsuKcb.IdKhoanoitru = objLuotkham.IdKhoanoitru; objLichsuKcb.NguoiTao = globalVariables.UserName; objLichsuKcb.NgayTao = globalVariables.SysDate; objLichsuKcb.IsNew = true; objLichsuKcb.Save(); //Thêm lần khám objLuotkham.IdBenhnhan = objKcbDanhsachBenhnhan.IdBenhnhan; objLuotkham.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; objLuotkham.SttKham = THU_VIEN_CHUNG.LaySTTKhamTheoDoituong(objLuotkham.IdDoituongKcb); objLuotkham.NgayTao = globalVariables.SysDate; objLuotkham.NguoiTao = globalVariables.UserName; objLuotkham.IsNew = true; objLuotkham.Save(); SqlQuery sqlQueryPatientExam = new Select().From(KcbLuotkham.Schema) .Where(KcbLuotkham.Columns.IdBenhnhan).IsNotEqualTo(objLuotkham.IdBenhnhan) .And(KcbLuotkham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham); if (sqlQueryPatientExam.GetRecordCount() > 0) { string patientCode = THU_VIEN_CHUNG.KCB_SINH_MALANKHAM((byte)(objKcbDanhsachBenhnhan.KieuBenhnhan == 0 ? 0 : 1)); new Update(KcbLuotkham.Schema) .Set(KcbLuotkham.Columns.MaLuotkham).EqualTo(patientCode) .Where(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan) .And(KcbLuotkham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham).Execute(); new Update(KcbLichsuDoituongKcb.Schema) .Set(KcbLichsuDoituongKcb.Columns.MaLuotkham).EqualTo(patientCode) .Where(KcbLichsuDoituongKcb.Columns.IdLichsuDoituongKcb).IsEqualTo(objLichsuKcb.IdLichsuDoituongKcb).Execute(); objLuotkham.MaLuotkham = patientCode; } new Update(KcbDmucLuotkham.Schema) .Set(KcbDmucLuotkham.Columns.TrangThai).EqualTo(2) .Set(KcbDmucLuotkham.Columns.EndTime).EqualTo(DateTime.Now) .Where(KcbDmucLuotkham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .And(KcbDmucLuotkham.Columns.Loai).IsEqualTo((byte)(objKcbDanhsachBenhnhan.KieuBenhnhan == 0 ? 0 : 1)) .And(KcbDmucLuotkham.Columns.TrangThai).IsLessThanOrEqualTo(1) .And(KcbDmucLuotkham.Columns.UsedBy).IsLessThanOrEqualTo(globalVariables.UserName) .Execute(); //.And(KcbDmucLuotkham.Columns.Nam).IsEqualTo(globalVariables.SysDate.Year)//Tạm bỏ tránh máy client cố tình điều chỉnh khác máy server ; if (objSoKCB != null) { //Kiểm tra xem có sổ KCB hay chưa objSoKCB.MaLuotkham = Utility.sDbnull(objLuotkham.MaLuotkham); objSoKCB.IdBenhnhan = Utility.Int32Dbnull(objLuotkham.IdBenhnhan); KcbDangkySokham _temp = new Select().From(KcbDangkySokham.Schema).Where(KcbDangkySokham.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan) .And(KcbDangkySokham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .ExecuteSingle<KcbDangkySokham>(); if (_temp == null) { objSoKCB.NgayTao = globalVariables.SysDate; objSoKCB.NguoiTao = globalVariables.UserName; objSoKCB.IsNew = true; objSoKCB.Save(); } else { if (Utility.Int64Dbnull(_temp.IdThanhtoan, 0) > 0)//Ko làm gì cả { Msg = "Đã thu tiền sổ khám của Bệnh nhân nên không được phép xóa hoặc cập nhật lại"; } else//Update lại sổ KCB { _temp.DonGia = objSoKCB.DonGia; _temp.BnhanChitra = objSoKCB.BnhanChitra; _temp.BhytChitra = objSoKCB.BhytChitra; _temp.PtramBhyt = objSoKCB.PtramBhyt; _temp.PtramBhytGoc = objSoKCB.PtramBhytGoc; _temp.PhuThu = objSoKCB.PhuThu; _temp.TuTuc = objSoKCB.TuTuc; _temp.NguonThanhtoan = objSoKCB.NguonThanhtoan; _temp.IdLoaidoituongkcb = objSoKCB.IdLoaidoituongkcb; _temp.IdDoituongkcb = objSoKCB.IdDoituongkcb; _temp.MaDoituongkcb = objSoKCB.MaDoituongkcb; _temp.Noitru = objSoKCB.Noitru; _temp.IdGoi = objSoKCB.IdGoi; _temp.TrongGoi = objSoKCB.TrongGoi; _temp.IdNhanvien = objSoKCB.IdNhanvien; _temp.NgaySua = globalVariables.SysDate; _temp.NguoiSua = globalVariables.UserName; _temp.IsNew = false; _temp.MarkOld(); _temp.Save(); } } } else { new Delete().From(KcbDangkySokham.Schema).Where(KcbDangkySokham.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan) .And(KcbDangkySokham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .And(KcbDangkySokham.Columns.TrangthaiThanhtoan).IsEqualTo(0) .Execute(); } //Nhập viện if (objBuonggiuong != null) { objBuonggiuong.IdBenhnhan = objLuotkham.IdBenhnhan; objBuonggiuong.MaLuotkham = objLuotkham.MaLuotkham; noitru_nhapvien.NhapvienCapcuu(objBuonggiuong, objLuotkham); //Chuyển vào buồng giường if (Utility.Int16Dbnull(objBuonggiuong.IdBuong) > -1 && Utility.Int16Dbnull(objBuonggiuong.IdGiuong) > -1) noitru_nhapvien.PhanGiuongDieuTriCapcuu(objBuonggiuong, objLuotkham, ngaychuyenkhoa, Utility.Int16Dbnull(objBuonggiuong.IdBuong), Utility.Int16Dbnull(objBuonggiuong.IdGiuong)); objLuotkham.IdKhoanoitru = objBuonggiuong.IdKhoanoitru; objLuotkham.IdBuong = objBuonggiuong.IdBuong; objLuotkham.IdGiuong = objBuonggiuong.IdGiuong; objLuotkham.IdRavien = objBuonggiuong.Id; objLuotkham.IdNhapvien = objBuonggiuong.Id; } mytrace.Desc = string.Format("Thêm mới Bệnh nhân cấp cứu ID={0}, Code={1}, Name={2}", objKcbDanhsachBenhnhan.IdBenhnhan.ToString(), objLuotkham.MaLuotkham, objKcbDanhsachBenhnhan.TenBenhnhan); mytrace.Lot = 0; mytrace.IsNew = true; mytrace.Save(); scope.Complete(); return ActionResult.Success; } } } catch (Exception ex) { return ActionResult.Error; } }
public ActionResult ThemmoiLuotkham(SysTrace mytrace, KcbDanhsachBenhnhan objKcbDanhsachBenhnhan, KcbLuotkham objLuotkham, KcbDangkyKcb objKcbDangkyKcb, KcbDangkySokham objSoKCB, int KieuKham, ref long id_kham, ref string Msg) { try { using (var scope = new TransactionScope()) { using (var dbscope = new SharedDbConnectionScope()) { UpdatePatientInfo(objKcbDanhsachBenhnhan); KcbLichsuDoituongKcb objLichsuKcb = new KcbLichsuDoituongKcb(); objLichsuKcb.IdBenhnhan = objLuotkham.IdBenhnhan; objLichsuKcb.MaLuotkham = objLuotkham.MaLuotkham; objLichsuKcb.NgayHieuluc = objLuotkham.NgayTiepdon; objLichsuKcb.IdDoituongKcb = objLuotkham.IdDoituongKcb; objLichsuKcb.MaDoituongKcb = objLuotkham.MaDoituongKcb; objLichsuKcb.IdLoaidoituongKcb = objLuotkham.IdLoaidoituongKcb; objLichsuKcb.MatheBhyt = objLuotkham.MatheBhyt; objLichsuKcb.PtramBhyt = objLuotkham.PtramBhyt; objLichsuKcb.PtramBhytGoc = objLuotkham.PtramBhytGoc; objLichsuKcb.NgaybatdauBhyt = objLuotkham.NgaybatdauBhyt; objLichsuKcb.NgayketthucBhyt = objLuotkham.NgayketthucBhyt; objLichsuKcb.NoicapBhyt = objLuotkham.NoicapBhyt; objLichsuKcb.MaNoicapBhyt = objLuotkham.MaNoicapBhyt; objLichsuKcb.MaDoituongBhyt = objLuotkham.MaDoituongBhyt; objLichsuKcb.MaQuyenloi = objLuotkham.MaQuyenloi; objLichsuKcb.NoiDongtrusoKcbbd = objLuotkham.NoiDongtrusoKcbbd; objLichsuKcb.MaKcbbd = objLuotkham.MaKcbbd; objLichsuKcb.TrangthaiNoitru = 0; objLichsuKcb.DungTuyen = objLuotkham.DungTuyen; objLichsuKcb.Cmt = objLuotkham.Cmt; objLichsuKcb.IdRavien = -1; objLichsuKcb.IdBuong = -1; objLichsuKcb.IdGiuong = -1; objLichsuKcb.IdKhoanoitru = -1; objLichsuKcb.NguoiTao = globalVariables.UserName; objLichsuKcb.NgayTao = globalVariables.SysDate; objLichsuKcb.IsNew = true; objLichsuKcb.Save(); SqlQuery sqlQueryPatientExam = new Select().From(KcbLuotkham.Schema) .Where(KcbLuotkham.Columns.IdBenhnhan).IsNotEqualTo(objLuotkham.IdBenhnhan) .And(KcbLuotkham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham); if (sqlQueryPatientExam.GetRecordCount() > 0)//Nếu BN khác đã lấy mã này { objLuotkham.MaLuotkham = THU_VIEN_CHUNG.KCB_SINH_MALANKHAM((byte)(objKcbDanhsachBenhnhan.KieuBenhnhan == 0 ? 0 : 1)); new Update(KcbLichsuDoituongKcb.Schema) .Set(KcbLichsuDoituongKcb.Columns.MaLuotkham).EqualTo(objLuotkham.MaLuotkham) .Where(KcbLichsuDoituongKcb.Columns.IdLichsuDoituongKcb).IsEqualTo(objLichsuKcb.IdLichsuDoituongKcb).Execute(); } objLuotkham.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; objLuotkham.IsNew = true; objLuotkham.Save(); new Update(KcbDmucLuotkham.Schema) .Set(KcbDmucLuotkham.Columns.TrangThai).EqualTo(2) .Set(KcbDmucLuotkham.Columns.EndTime).EqualTo(DateTime.Now) .Where(KcbDmucLuotkham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .And(KcbDmucLuotkham.Columns.Loai).IsEqualTo((byte)(objKcbDanhsachBenhnhan.KieuBenhnhan == 0 ? 0 : 1)) .And(KcbDmucLuotkham.Columns.TrangThai).IsLessThanOrEqualTo(1) .And(KcbDmucLuotkham.Columns.Nam).IsEqualTo(globalVariables.SysDate.Year) .And(KcbDmucLuotkham.Columns.UsedBy).IsLessThanOrEqualTo(globalVariables.UserName) .Execute(); ; if (objSoKCB != null) { //Kiểm tra xem có sổ KCB hay chưa objSoKCB.MaLuotkham = Utility.sDbnull(objLuotkham.MaLuotkham); objSoKCB.IdBenhnhan = Utility.Int32Dbnull(objLuotkham.IdBenhnhan); KcbDangkySokham _temp = new Select().From(KcbDangkySokham.Schema).Where(KcbDangkySokham.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan) .And(KcbDangkySokham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .ExecuteSingle<KcbDangkySokham>(); if (_temp == null) { objSoKCB.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; objSoKCB.NgayTao = globalVariables.SysDate; objSoKCB.NguoiTao = globalVariables.UserName; objSoKCB.IsNew = true; objSoKCB.Save(); } else { if (Utility.Int64Dbnull(_temp.IdThanhtoan, 0) > 0)//Ko làm gì cả { Msg = "Đã thu tiền sổ khám của Bệnh nhân nên không được phép xóa hoặc cập nhật lại"; } else//Update lại sổ KCB { _temp.DonGia = objSoKCB.DonGia; _temp.BnhanChitra = objSoKCB.BnhanChitra; _temp.BhytChitra = objSoKCB.BhytChitra; _temp.PtramBhyt = objSoKCB.PtramBhyt; _temp.PtramBhytGoc = objSoKCB.PtramBhytGoc; _temp.PhuThu = objSoKCB.PhuThu; _temp.TuTuc = objSoKCB.TuTuc; _temp.NguonThanhtoan = objSoKCB.NguonThanhtoan; _temp.IdLoaidoituongkcb = objSoKCB.IdLoaidoituongkcb; _temp.IdDoituongkcb = objSoKCB.IdDoituongkcb; _temp.MaDoituongkcb = objSoKCB.MaDoituongkcb; _temp.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; _temp.Noitru = objSoKCB.Noitru; _temp.IdGoi = objSoKCB.IdGoi; _temp.TrongGoi = objSoKCB.TrongGoi; _temp.IdNhanvien = objSoKCB.IdNhanvien; _temp.NgaySua = globalVariables.SysDate; _temp.NguoiSua = globalVariables.UserName; _temp.IsNew = false; _temp.MarkOld(); _temp.Save(); } } } else { new Delete().From(KcbDangkySokham.Schema).Where(KcbDangkySokham.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan) .And(KcbDangkySokham.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham) .And(KcbDangkySokham.Columns.TrangthaiThanhtoan).IsEqualTo(0) .Execute(); } if (objKcbDangkyKcb != null) { objKcbDangkyKcb.MaLuotkham = Utility.sDbnull(objLuotkham.MaLuotkham); objKcbDangkyKcb.IdBenhnhan = Utility.Int32Dbnull(objLuotkham.IdBenhnhan); objKcbDangkyKcb.IdLichsuDoituongKcb = objLichsuKcb.IdLichsuDoituongKcb; id_kham= AddRegExam(objKcbDangkyKcb,objLuotkham, false, KieuKham); } mytrace.Desc = string.Format("Thêm mới lượt khám ID={0}, Code={1}, Name={2}", objKcbDanhsachBenhnhan.IdBenhnhan.ToString(), objLuotkham.MaLuotkham, objKcbDanhsachBenhnhan.TenBenhnhan); mytrace.Lot = 0; mytrace.IsNew = true; mytrace.Save(); scope.Complete(); return ActionResult.Success; } } } catch (Exception ex) { return ActionResult.Error; } }