public void Insert(string MaPhieu,int IdBnhan,string Pid,DateTime NgayDky,int? IdKhoaCd,string BsCdinh,int? LoaiPhieu,int? IdKhoaTao,string NguoiTao,DateTime NgayTao,string NguoiSua,DateTime? NgaySua,string MaPhieuHis,string MtaThem,string StudyInstanseUid,string MaPhong,string SourcePatientid,int AutoGen) { RisPhieuCdinh item = new RisPhieuCdinh(); item.MaPhieu = MaPhieu; item.IdBnhan = IdBnhan; item.Pid = Pid; item.NgayDky = NgayDky; item.IdKhoaCd = IdKhoaCd; item.BsCdinh = BsCdinh; item.LoaiPhieu = LoaiPhieu; item.IdKhoaTao = IdKhoaTao; item.NguoiTao = NguoiTao; item.NgayTao = NgayTao; item.NguoiSua = NguoiSua; item.NgaySua = NgaySua; item.MaPhieuHis = MaPhieuHis; item.MtaThem = MtaThem; item.StudyInstanseUid = StudyInstanseUid; item.MaPhong = MaPhong; item.SourcePatientid = SourcePatientid; item.AutoGen = AutoGen; item.Save(UserName); }
/// <summary> /// Thực hiện thêm mới thông tin không nhập qua phần tiếp đón /// </summary> /// <param name="TenBenhNhan">Tên bệnh nhân</param> /// <param name="GTinh"> </param> /// <param name="StudyInstanseUid">StudyInstanseUid</param> /// <param name="SERIES_INSTANCE_UID">SERIES_INSTANCE_UID</param> /// <param name="SOP_INSTANCE_UID">SOP_INSTANCE_UID</param> /// <param name="BodyPart"> </param> /// <param name="Position"> </param> /// <param name="PathImage">Đường dẫn ảnh</param> /// <param name="PathImage_thumb"> </param> /// <param name="IdDichVu">ID dịch vụ </param> /// <returns></returns> public static void ThemBenhNhan(string TenBenhNhan, string GTinh, string StudyInstanseUid, string SERIES_INSTANCE_UID, string SOP_INSTANCE_UID, string BodyPart, string Position, string PathImage, string PathImage_thumb, string sourcePatientId) { try { Query _QuerySoPhieu = RisPhieuCdinh.CreateQuery(); Query _QueryChiTiet = RisPhieuCdinhCtiet.CreateQuery(); using (var scope = new TransactionScope()) { using (var sp = new SharedDbConnectionScope()) { DateTime sysDateTime = BusinessHelper.GetSysDateTime(); var objBenhNhan = new RisBenhNhan(); SqlQuery sqlQuery = new Select().From(RisPhieuCdinh.Schema) .Where(RisPhieuCdinh.Columns.StudyInstanseUid).IsEqualTo(StudyInstanseUid); var objPhieuCdinh = new RisPhieuCdinh(); if (sqlQuery.GetRecordCount() <= 0) { objBenhNhan = ThemMoiBenhNhan(TenBenhNhan, GTinh); objPhieuCdinh.StudyInstanseUid = StudyInstanseUid; objPhieuCdinh.IdBnhan = objBenhNhan.IdBnhan; objPhieuCdinh.MaPhieu = BusinessHelper.LayMaPhieu(); objPhieuCdinh.Pid = objBenhNhan.Pid; objPhieuCdinh.LoaiPhieu = 1; // objPhieuCdinh.IdKhoaThien = -1; //objPhieuCdinh.MaTbi = String.Empty; objPhieuCdinh.NgayDky = sysDateTime; objPhieuCdinh.NgayTao = sysDateTime; objPhieuCdinh.NguoiTao = globalVariables.UserName; objPhieuCdinh.SourcePatientid = sourcePatientId; objPhieuCdinh.IsNew = true; objPhieuCdinh.Save(); objPhieuCdinh.IdPhieu = Utility.Int32Dbnull(_QuerySoPhieu.GetMax(RisPhieuCdinh.Columns.IdPhieu)); } else { objPhieuCdinh = sqlQuery.ExecuteSingle<RisPhieuCdinh>(); new Update(RisBenhNhan.Schema) .Set(RisBenhNhan.Columns.TenBnhan).EqualTo(TenBenhNhan) .Set(RisBenhNhan.Columns.TenBnhanKdau).EqualTo(Utility.UnSignedCharacter(TenBenhNhan)) .Set(RisBenhNhan.Columns.Gtinh).EqualTo(GTinh) .Where(RisBenhNhan.Columns.IdBnhan).IsEqualTo(objPhieuCdinh.IdBnhan).Execute(); } sqlQuery = new Select().From(RisPhieuCdinhCtiet.Schema) .Where(RisPhieuCdinhCtiet.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu) .And(RisPhieuCdinhCtiet.Columns.SeriesInstanceUid).IsEqualTo(SERIES_INSTANCE_UID) .And(RisPhieuCdinhCtiet.Columns.StudyInstanceUid).IsEqualTo(StudyInstanseUid); //.And(RisPhieuCdinhCtiet.Columns.SopInstanceUid).IsEqualTo(SOP_INSTANCE_UID); var objRisPhieuCdinhCtiet = new RisPhieuCdinhCtiet(); if (sqlQuery.GetRecordCount() <= 0) { SqlQuery sqlQueryDV = new Select().From(DDichVu.Schema) .Where(DDichVu.Columns.MaDvu).IsEqualTo(Position) .And(DDichVu.Columns.IdLoaiDvu).In( new Select(DLoaiDvu.Columns.IdLoaiDvu).From(DLoaiDvu.Schema) .Where(DLoaiDvu.Columns.MaLoaiDvu). IsEqualTo(BodyPart)); var objDichVu = sqlQueryDV.ExecuteSingle<DDichVu>(); if (objDichVu != null) { objRisPhieuCdinhCtiet.IdDvu = Utility.Int32Dbnull(objDichVu.IdDvu, -1); if (objDichVu != null) { objRisPhieuCdinhCtiet.IdLoaiDvu = objDichVu.IdLoaiDvu; objRisPhieuCdinhCtiet.GhiChu = Utility.sDbnull(objDichVu.MoTa, ""); SqlQuery sqlQueryVungKS = new Select().From(DVungKsat.Schema) .Where(DVungKsat.Columns.IdVungKs).IsEqualTo(objDichVu.IdVungKs); var objDVungKsat = sqlQueryVungKS.ExecuteSingle<DVungKsat>(); if (objDVungKsat != null) { objRisPhieuCdinhCtiet.VungKs = Utility.sDbnull(objDVungKsat.TenVungKs, ""); objRisPhieuCdinhCtiet.KetLuan = Utility.sDbnull(objDVungKsat.KetLuan, ""); objRisPhieuCdinhCtiet.DeNghi = Utility.sDbnull(objDVungKsat.DeNghi, ""); objRisPhieuCdinhCtiet.KyThuat = Utility.sDbnull(objDVungKsat.KyThuat, ""); objRisPhieuCdinhCtiet.MoTa = Utility.sDbnull(objDVungKsat.MoTa, ""); } } } objRisPhieuCdinhCtiet.Sluong = 1; objRisPhieuCdinhCtiet.DaIn = 0; objRisPhieuCdinhCtiet.SeriesInstanceUid = SERIES_INSTANCE_UID; objRisPhieuCdinhCtiet.SopInstanceUid = SOP_INSTANCE_UID; objRisPhieuCdinhCtiet.StudyInstanceUid = objPhieuCdinh.StudyInstanseUid; objRisPhieuCdinhCtiet.MaKieuDvu = globalVariables.MaKieuDV; objRisPhieuCdinhCtiet.MaDvu = Position; objRisPhieuCdinhCtiet.MaLoaiDvu = BodyPart; objRisPhieuCdinhCtiet.MaTbi = string.Empty; objRisPhieuCdinhCtiet.IdKhoaThien = -1; objRisPhieuCdinhCtiet.TrangThaiImage = 1; // objRisPhieuCdinhCtiet.MaKieuDvu = globalVariables.; objRisPhieuCdinhCtiet.TrangThai = 0; objRisPhieuCdinhCtiet.IdPhieu = objPhieuCdinh.IdPhieu; objRisPhieuCdinhCtiet.IsNew = true; objRisPhieuCdinhCtiet.Save(); objRisPhieuCdinhCtiet.IdPhieuCtiet = Utility.Int32Dbnull(_QueryChiTiet.GetMax(RisPhieuCdinhCtiet.Columns.IdPhieuCtiet), -1); } else { objRisPhieuCdinhCtiet = sqlQuery.ExecuteSingle<RisPhieuCdinhCtiet>(); } sqlQuery = new Select().From(RisLuuAnh.Schema) .Where(RisLuuAnh.Columns.IdPhieuCtiet).IsEqualTo(objRisPhieuCdinhCtiet.IdPhieuCtiet) .And(RisLuuAnh.Columns.SeriesInstanceUid).IsEqualTo(objRisPhieuCdinhCtiet.SeriesInstanceUid) .And(RisLuuAnh.Columns.SopInstanceUid).IsEqualTo(SOP_INSTANCE_UID); if (sqlQuery.GetRecordCount() <= 0) { new Update(RisLuuAnh.Schema) .Set(RisLuuAnh.Columns.TrangThai).EqualTo(0) .Where(RisPhieuCdinhCtiet.Columns.IdPhieuCtiet).IsEqualTo( objRisPhieuCdinhCtiet.IdPhieuCtiet).Execute(); var objLuuAnh = new RisLuuAnh(); objLuuAnh.DdanAnh = PathImage; objLuuAnh.DdanAnhThumb = PathImage_thumb; objLuuAnh.IdPhieuCtiet = Utility.Int64Dbnull(objRisPhieuCdinhCtiet.IdPhieuCtiet, -1); objLuuAnh.SeriesInstanceUid = objRisPhieuCdinhCtiet.SeriesInstanceUid; objLuuAnh.SopInstanceUid = SOP_INSTANCE_UID; objLuuAnh.NgayTao = sysDateTime; objLuuAnh.TrangThai = 1; string[] strings = SOP_INSTANCE_UID.Split('.'); int loz; try { loz = Convert.ToInt32(strings[strings.Length - 1]); } catch (Exception) { loz = 0; } objLuuAnh.Stt = loz; objLuuAnh.IsNew = true; objLuuAnh.Save(); } else { new Update(RisLuuAnh.Schema) .Set(RisLuuAnh.Columns.DdanAnh).EqualTo(PathImage) .Set(RisLuuAnh.Columns.NgayTao).EqualTo(sysDateTime) .Where(RisLuuAnh.Columns.IdPhieuCtiet).IsEqualTo(objRisPhieuCdinhCtiet.IdPhieuCtiet) .And(RisLuuAnh.Columns.SeriesInstanceUid).IsEqualTo( objRisPhieuCdinhCtiet.SeriesInstanceUid) .And(RisLuuAnh.Columns.SopInstanceUid).IsEqualTo(SOP_INSTANCE_UID).Execute(); } } // OrderImage(SERIES_INSTANCE_UID); scope.Complete(); return; } } catch (Exception ex) { return; } }
/// <summary> /// Trả về đối tượng chỉ định chi tiết nếu đã có chỉ định hoặc tạo mới thành công.Null nếu tạo mới không thành công /// </summary> /// <param name="oPhieuCdinh"></param> /// <param name="aeTitle"> </param> /// <param name="bodyPart"> </param> /// <param name="viewpos"> </param> /// <param name="studyInstanseUid"> </param> /// <param name="seriesInstanceUid"> </param> /// <param name="sopInstanceUid"> </param> /// <returns></returns> public static RisPhieuCdinhCtiet GetPhieuChiDinhChiTiet(RisPhieuCdinh oPhieuCdinh, string aeTitle, string bodyPart, string viewpos, string studyInstanseUid, string seriesInstanceUid, string sopInstanceUid) { try { var o = new RisPhieuCdinhCtiet(); //B1:Lấy về tất cả các chỉ định của phiếu chỉ định DataTable dt = SPs.SpGetTestListForInsert2(oPhieuCdinh.MaPhieu, aeTitle).GetDataSet().Tables[0]; //Nếu có chỉ định thì tìm kiếm để lấy về số phiếu if (dt.Rows.Count > 0) { //Lọc tìm phiếu chỉ định chi tiết DataRow[] dataRows = dt.Select(string.Format("BodyPart = '{0}' and ViewPos = '{1}'", bodyPart, viewpos)); //Nếu tìm thấy thì lấy luôn số phiếu đầu tiên if (dataRows.Length > 0) { var phieuChiDinhChiTiet = new RisPhieuCdinhCtiet(dataRows[0]["ID_PHIEU_CTIET"]); phieuChiDinhChiTiet.BodyPart = bodyPart; phieuChiDinhChiTiet.ViewPos = viewpos; phieuChiDinhChiTiet.Save(); return phieuChiDinhChiTiet; } } //Bổ sung bước kiểm tra SOPID RisPhieuCdinhCtietCollection tempChitiets = new RisPhieuCdinhCtietController().FetchByQuery( RisPhieuCdinhCtiet.CreateQuery().WHERE(RisPhieuCdinhCtiet.Columns.StudyInstanceUid, Comparison.Equals, studyInstanseUid).AND( RisPhieuCdinhCtiet.Columns.SeriesInstanceUid, Comparison.Equals, seriesInstanceUid).AND( RisPhieuCdinhCtiet.Columns.SopInstanceUid, Comparison.Equals, sopInstanceUid)); if (tempChitiets.Count > 0) { var phieuChiDinhChiTiet = tempChitiets[0]; phieuChiDinhChiTiet.BodyPart = bodyPart; phieuChiDinhChiTiet.ViewPos = viewpos; phieuChiDinhChiTiet.Save(); return phieuChiDinhChiTiet; } //Nếu không tìm thấy phiếu nào thì phải tạo phiếu chi tiết mới o.IdPhieu = oPhieuCdinh.IdPhieu; o.IdDvu = -1; int idThietBi = Utility.Int32Dbnull( new Select(DThietBi.IdThietBiColumn).From(DThietBi.Schema).Where(DThietBi.AETitleColumn). IsEqualTo(aeTitle).ExecuteScalar(), -1); //Nếu id THiết bị <>-1 //Lấy mã dịch vụ từ AETitle, bodypart và viewpos //Nếu chưa tồn tại bodypart và viewpos trong bảng mã điều khiển thì tự thêm mới. if (idThietBi != -1) { // Nếu tồn tại thiết bị lấy về obj mã đk Thiết bị DMaDieuKhienThietBiCollection objmdks = new DMaDieuKhienThietBiController(). FetchByQuery(DMaDieuKhienThietBi.CreateQuery(). WHERE(DMaDieuKhienThietBi.Columns.IdThietBi, Comparison.Equals, idThietBi). AND( DMaDieuKhienThietBi.Columns.BodyPart, Comparison.Equals, bodyPart).AND( DMaDieuKhienThietBi.Columns.ViewPos, Comparison.Equals, viewpos)); if (objmdks != null) { // Nếu tồn tại bodypart và viewpos thì lấy ra dịch vụ if (objmdks.Count > 0) { o.IdDvu = Utility.Int32Dbnull(objmdks.First().IdDvu, -1); } //Nếu không tồn tại thì insert mã điều khiển mới else { var objmdk = new DMaDieuKhienThietBi(); objmdk.IdDvu = -1; objmdk.IdThietBi = idThietBi; objmdk.BodyPart = bodyPart; objmdk.ViewPos = viewpos; objmdk.TrangThai = 1; objmdk.Desc = string.Format("{0}-{1}", bodyPart, viewpos); objmdk.Save(); } } } //Xử lý trường hợp nếu idDvu =-1 gán về loại chưa xác định (loại có trạng thái =0) DDichVu objDichVu = null; if (o.IdDvu == -1) { DDichVuCollection tempdvs = new DDichVuController().FetchByQuery(DDichVu.CreateQuery().WHERE(DDichVu.Columns.TrangThai, Comparison.Equals, 0)); if (tempdvs.Count > 0) { objDichVu = tempdvs[0]; o.IdDvu = objDichVu.IdDvu; } else { objDichVu = new DDichVu(o.IdDvu); } } else { objDichVu = new DDichVu(o.IdDvu); } o.MaDvu = Utility.sDbnull(objDichVu.MaDvu); o.Sluong = 1; o.DonGia = Utility.DecimaltoDbnull(objDichVu.DonGia, 0); o.DaIn = 0; o.AutoGen = 1; o.IdLoaiDvu = Utility.Int32Dbnull(objDichVu.IdLoaiDvu, -1); o.MaLoaiDvu = Utility.sDbnull( new Select(DLoaiDvu.MaLoaiDvuColumn).From(DLoaiDvu.Schema).Where(DLoaiDvu.IdLoaiDvuColumn). IsEqualTo(o.IdLoaiDvu).ExecuteScalar()); o.TrangThai = 0; o.IdKhoaThien = -1; o.MaKieuDvu = ""; o.BodyPart = bodyPart; o.ViewPos = viewpos; o.Save(); return o; } catch (Exception ex) { return null; } }
/// <summary> /// Trả về đối tượng Phiếu chỉ đinh trong trường hợp đã tồn tại hoặc tạo mới thành công. Null nếu ko tạo mới thành công /// </summary> /// <param name="oBenhNhan"></param> /// <param name="maPhieu"></param> /// <returns></returns> public static RisPhieuCdinh GetPhieuChiDinh(RisBenhNhan oBenhNhan, string maPhieu) { try { //B1: Kiểm tra xem đã tồn tại phiếu hay chưa ? bằng mã phiếu var tempPhieu = new RisPhieuCdinhController().FetchByQuery( RisPhieuCdinh.CreateQuery().WHERE(RisPhieuCdinh.Columns.MaPhieu, Comparison.Equals, maPhieu)); if ((tempPhieu != null) && (tempPhieu.Count > 0)) { var risPhieuCdinh = tempPhieu[0]; risPhieuCdinh.SourcePatientid = oBenhNhan.Pid; risPhieuCdinh.Save(); return risPhieuCdinh; } //Nếu chưa tồn tại phiếu thì thêm mới. var sysDateTime = BusinessHelper.GetSysDateTime(); var objPhieuCdinh = new RisPhieuCdinh(); objPhieuCdinh.IdBnhan = oBenhNhan.IdBnhan; //Nếu không có accession no thì sinh mã mới :D objPhieuCdinh.MaPhieu = string.IsNullOrEmpty(maPhieu.Trim()) ? BusinessHelper.LayMaPhieu() : maPhieu.Trim(); objPhieuCdinh.Pid = oBenhNhan.Pid; objPhieuCdinh.LoaiPhieu = 1; objPhieuCdinh.NgayDky = sysDateTime; objPhieuCdinh.NgayTao = sysDateTime; objPhieuCdinh.NguoiTao = "Service"; objPhieuCdinh.SourcePatientid = oBenhNhan.Pid; objPhieuCdinh.AutoGen = 1; objPhieuCdinh.IsNew = true; objPhieuCdinh.Save(); return objPhieuCdinh; } catch (Exception) { return null; } }
/// <summary> /// hàm thực hiện việc chuyển phòng ban /// </summary> /// <param name="objPhieuCdinh"></param> /// <returns></returns> public ActionResult ChuyenPhongThucHien(RisPhieuCdinh objPhieuCdinh) { try { using (var scope = new TransactionScope()) { using (var sh = new SharedDbConnectionScope()) { log.Info("Bạn chuyen thong tin dieu huong phong voi ID=" + objPhieuCdinh.IdKhoaThien); log.Info("Bạn chuyen thong tin dieu huong ma thiet bi voi ID=" + objPhieuCdinh.MaTbi); SqlQuery sqlQuery; if(globalVariables.gv_ExistsThietBi) { new Update(RisPhieuCdinh.Schema) .Set(RisPhieuCdinh.Columns.IdKhoaThien).EqualTo(objPhieuCdinh.IdKhoaThien) .Set(RisPhieuCdinh.Columns.MaTbi).EqualTo(objPhieuCdinh.MaTbi) .Where(RisPhieuCdinh.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu).Execute(); } else { new Update(RisPhieuCdinh.Schema) .Set(RisPhieuCdinh.Columns.IdKhoaThien).EqualTo(objPhieuCdinh.IdKhoaThien) // .Set(RisPhieuCdinh.Columns.MaTbi).EqualTo(objPhieuCdinh.MaTbi) .Where(RisPhieuCdinh.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu).Execute(); } } scope.Complete(); return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them moi benh nhan {0}", exception.ToString()); VietBaIT.CommonLibrary.ErrorLog.InsertErrorlog(exception.ToString(), Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); return ActionResult.Error; } }
/// <summary> /// hàm thực hiện việc thêm mới thôn tin của phiéu điều trị /// </summary> /// <param name="objPhieuCdinh"></param> /// <param name="arrPhieuChiTiet"></param> /// <param name="IDPhieu"></param> /// <returns></returns> public ActionResult InsertPhieuChiDinh(RisPhieuCdinh objPhieuCdinh, RisPhieuCdinhCtiet[] arrPhieuChiTiet, ref int IDPhieu,ref string SoPhieu) { Query _Query = RisPhieuCdinh.CreateQuery(); try { using (var scope = new TransactionScope()) { using (var sh = new SharedDbConnectionScope()) { objPhieuCdinh.MaPhieu = BusinessHelper.LayMaPhieu(); objPhieuCdinh.IsNew = true; objPhieuCdinh.Save(); objPhieuCdinh.IdPhieu = Utility.Int32Dbnull(_Query.GetMax(RisPhieuCdinh.Columns.IdPhieu), -1); log.Info("Lay thong tin cua so phieu lon nhat co trong db voi id_phieu=" + objPhieuCdinh.IdPhieu); SqlQuery sqlQuery = new Select(SubSonic.Aggregate.Max(RisPhieuCdinh.Columns.IdPhieu)).From(RisPhieuCdinh.Schema) .Where(RisPhieuCdinh.Columns.IdBnhan).IsEqualTo(objPhieuCdinh.IdBnhan) .And(RisPhieuCdinh.Columns.Pid).IsEqualTo(objPhieuCdinh.Pid); int MaxPhieu = Utility.Int32Dbnull(sqlQuery.ExecuteScalar(),-1); log.Info("Bat dau kiem tra so phieu xem co dung cua benh nhan do khong"); if (MaxPhieu != objPhieuCdinh.IdPhieu) { VietBaIT.CommonLibrary.ErrorLog.InsertInfolog("Mã phiếu khác nhau, thì thực hiện gán cái vừa lấy được cho cái cũ", Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); objPhieuCdinh.IdPhieu = MaxPhieu; log.Info("Thuc hien viec kiem tra xem so phieu da ton tai chua,neu co rui thi lay id =" + objPhieuCdinh.IdPhieu); } sqlQuery = new Select().From(RisPhieuCdinh.Schema) .Where(RisPhieuCdinh.Columns.MaPhieu).IsEqualTo(objPhieuCdinh.MaPhieu) .And(RisPhieuCdinh.Columns.IdPhieu).IsNotEqualTo(objPhieuCdinh.IdPhieu); VietBaIT.CommonLibrary.ErrorLog.InsertInfolog("Kiểm tra xem có trùng mã phiếu không, nếu trùng thì thực hiện cập nhập lại số phiếu khác", Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); log.Info("Kiem tra xem so phieu da ton tai chua"); if (sqlQuery.GetRecordCount() > 0) { objPhieuCdinh.MaPhieu = BusinessHelper.LayMaPhieu(); new Update(RisPhieuCdinh.Schema) .Set(RisPhieuCdinh.Columns.MaPhieu).EqualTo(objPhieuCdinh.MaPhieu) .Where(RisPhieuCdinh.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu).Execute(); log.Info("Neu ton tai rui thi cap lai thong tin cua so phieu, voi so phieu moi la=" + objPhieuCdinh.MaPhieu); } log.Info("Bat dau insert thon tin chi tiet"); foreach (RisPhieuCdinhCtiet objPhieuCdinhCtiet in arrPhieuChiTiet) { log.Info("Insert thong tin voi IDPhieu=" + objPhieuCdinh.IdPhieu+" va iddich vu="+objPhieuCdinhCtiet.IdDvu); objPhieuCdinhCtiet.IdPhieu = objPhieuCdinh.IdPhieu; objPhieuCdinhCtiet.IsNew = true; objPhieuCdinhCtiet.Save(); } } log.Info("Hoan thanh viec them moi so phieu"); scope.Complete(); IDPhieu = objPhieuCdinh.IdPhieu; SoPhieu = objPhieuCdinh.MaPhieu; return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them moi benh nhan {0}", exception.ToString()); VietBaIT.CommonLibrary.ErrorLog.InsertErrorlog(exception.ToString(), Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); return ActionResult.Error; } }
/// <summary> /// hàm thực hiện việc cập nhập thogn tin của chỉ định /// </summary> /// <param name="objPhieuCdinh"></param> /// <param name="arrPhieuChiTiet"></param> /// <returns></returns> public ActionResult UpdatePhieuChiDinh(RisPhieuCdinh objPhieuCdinh, RisPhieuCdinhCtiet[] arrPhieuChiTiet) { Query _Query = RisPhieuCdinh.CreateQuery(); try { using (var scope = new TransactionScope()) { using (var sh = new SharedDbConnectionScope()) { new Update(RisPhieuCdinh.Schema) .Set(RisPhieuCdinh.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(RisPhieuCdinh.Columns.NgaySua).EqualTo(BusinessHelper.GetSysDateTime()) .Set(RisPhieuCdinh.Columns.IdKhoaCd).EqualTo(objPhieuCdinh.IdKhoaCd) .Set(RisPhieuCdinh.Columns.BsCdinh).EqualTo(objPhieuCdinh.BsCdinh) .Where(RisPhieuCdinh.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu).Execute(); new Delete().From(RisPhieuCdinhCtiet.Schema) .Where(RisPhieuCdinhCtiet.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu) .AndExpression(RisPhieuCdinhCtiet.Columns.TrangThai).IsEqualTo(0).Or(RisPhieuCdinhCtiet.Columns.TrangThai) .IsNull().CloseExpression() .Execute(); foreach (RisPhieuCdinhCtiet objPhieuCdinhCtiet in arrPhieuChiTiet) { if (Utility.Int32Dbnull(objPhieuCdinhCtiet.TrangThai,0) > 0) continue; objPhieuCdinhCtiet.IdPhieu = objPhieuCdinh.IdPhieu; objPhieuCdinhCtiet.IsNew = true; objPhieuCdinhCtiet.Save(); } } scope.Complete(); //IDPhieu = objPhieuCdinh.IdPhieu; return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them moi benh nhan {0}", exception.ToString()); VietBaIT.CommonLibrary.ErrorLog.InsertErrorlog(exception.ToString(), Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); return ActionResult.Error; } }
public ActionResult InsertPhieuChiDinh(RisPhieuCdinh objPhieuCdinh, RisPhieuCdinhCtiet[] arrPhieuChiTiet,ref int IDPhieu) { Query _Query = RisPhieuCdinh.CreateQuery(); try { using (var scope = new TransactionScope()) { using (var sh = new SharedDbConnectionScope()) { objPhieuCdinh.MaPhieu = BusinessHelper.LayMaPhieu(); objPhieuCdinh.IsNew = true; objPhieuCdinh.Save(); objPhieuCdinh.IdPhieu = Utility.Int32Dbnull(_Query.GetMax(RisPhieuCdinh.Columns.IdPhieu), -1); SqlQuery sqlQuery = new Select().From(RisPhieuCdinh.Schema) .Where(RisPhieuCdinh.Columns.MaPhieu).IsEqualTo(objPhieuCdinh.MaPhieu) .And(RisPhieuCdinh.Columns.IdPhieu).IsNotEqualTo(objPhieuCdinh.IdPhieu); if(sqlQuery.GetRecordCount()>0) { new Update(RisPhieuCdinh.Schema) .Set(RisPhieuCdinh.Columns.MaPhieu).EqualTo(BusinessHelper.LayMaPhieu()) .Where(RisPhieuCdinh.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu).Execute(); } foreach (RisPhieuCdinhCtiet objPhieuCdinhCtiet in arrPhieuChiTiet) { objPhieuCdinhCtiet.IdPhieu = objPhieuCdinh.IdPhieu; objPhieuCdinhCtiet.IsNew = true; objPhieuCdinhCtiet.Save(); } } scope.Complete(); IDPhieu = objPhieuCdinh.IdPhieu; return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them moi benh nhan {0}", exception.ToString()); VietBaIT.CommonLibrary.ErrorLog.InsertErrorlog(exception.ToString(), Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); return ActionResult.Error; } }