public void Insert(long? IdBenhnhan,string MaLuotkham,DateTime? NgayChuyenvien,short? IdBenhvienChuyenden,string DauhieuCls,string KetquaXnCls,string ChanDoan,string ThuocSudung,string TrangthaiBenhnhan,string LydoChuyen,string HuongDieutri,string PhuongtienChuyen,string TenNguoichuyen,int? IdKhoanoitru,int? IdBuong,int? IdGiuong,int? IdRavien,byte? NoiTru,short? IdBacsiChuyenvien,string NgayTao,string NguoiTao)
        {
            KcbPhieuchuyenvien item = new KcbPhieuchuyenvien();

            item.IdBenhnhan = IdBenhnhan;

            item.MaLuotkham = MaLuotkham;

            item.NgayChuyenvien = NgayChuyenvien;

            item.IdBenhvienChuyenden = IdBenhvienChuyenden;

            item.DauhieuCls = DauhieuCls;

            item.KetquaXnCls = KetquaXnCls;

            item.ChanDoan = ChanDoan;

            item.ThuocSudung = ThuocSudung;

            item.TrangthaiBenhnhan = TrangthaiBenhnhan;

            item.LydoChuyen = LydoChuyen;

            item.HuongDieutri = HuongDieutri;

            item.PhuongtienChuyen = PhuongtienChuyen;

            item.TenNguoichuyen = TenNguoichuyen;

            item.IdKhoanoitru = IdKhoanoitru;

            item.IdBuong = IdBuong;

            item.IdGiuong = IdGiuong;

            item.IdRavien = IdRavien;

            item.NoiTru = NoiTru;

            item.IdBacsiChuyenvien = IdBacsiChuyenvien;

            item.NgayTao = NgayTao;

            item.NguoiTao = NguoiTao;

            item.Save(UserName);
        }
        void cmdChuyen_Click(object sender, EventArgs e)
        {
            Utility.SetMsg(lblMsg, "", false);
            if (Utility.DoTrim(txtGioRaVien.Text)=="")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin giờ ra viện", true);
                txtGioRaVien.Focus();
                return;
            }
            if (Utility.Int32Dbnull(txtGioRaVien.Text,0) >=24)
            {
                Utility.SetMsg(lblMsg, "Giờ ra viện nằm trong khoảng giá trị từ 0 đến 23", true);
                txtGioRaVien.Focus();
                return;
            }
            if (Utility.DoTrim(txtPhuRaVien.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin phút ra viện", true);
                txtPhuRaVien.Focus();
                return;
            }
            if (Utility.Int32Dbnull(txtPhuRaVien.Text, 0) >= 60)
            {
                Utility.SetMsg(lblMsg, "Phút ra viện nằm trong khoảng giá trị từ 0 đến 59", true);
                txtPhuRaVien.Focus();
                return;
            }
            if (Utility.DoTrim(txtSoRaVien.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin số phiếu ra viện", true);
                txtSoRaVien.Focus();
                return;
            }
            if(chkChuyenvien.Checked)
                if (txtNoichuyenden.MyCode == "-1")
                {
                    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin nơi chuyển đến", true);
                    txtNoichuyenden.Focus();
                    return;
                }
            if (txtKqdieutri.MyCode == "-1")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin kết quả điều trị", true);
                txtKqdieutri.Focus();
                return;
            }
            if (txtTinhtrangravien.MyCode == "-1")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin tình trạng ra viện", true);
                txtTinhtrangravien.Focus();
                return;
            }
            if (Utility.DoTrim(txtLoidanBS.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin lời dặn bác sĩ", true);
                txtLoidanBS.Focus();
                return;
            }

            try
            {
                if (m_enAct == action.Insert)
                {
                    objRavien = new NoitruPhieuravien();
                    objRavien.IsNew = true;
                }
                else
                {
                    objRavien = NoitruPhieuravien.FetchByID(Utility.Int32Dbnull(txtId.Text));
                    objRavien.IsNew = false;
                    objRavien.MarkOld();
                }
               objRavien.NgayRavien = new DateTime(dtpNgayravien.Value.Year, dtpNgayravien.Value.Month, dtpNgayravien.Value.Day, Utility.Int32Dbnull(txtGioRaVien.Text, 0), Utility.Int32Dbnull(txtPhuRaVien.Text, 0), 0);
               objRavien.SophieuRavien=Utility.DoTrim( txtSoRaVien.Text ) ;
               objRavien.TongsongayDieutri = Utility.Int32Dbnull(txtTongSoNgayDtri.Text);
               objRavien.MabenhChinh=txtBenhchinh.MyCode;

                objRavien.IdBenhnhan = objLuotkham.IdBenhnhan;
                objRavien.MaLuotkham = objLuotkham.MaLuotkham;
                objRavien.SoBenhAn = Utility.Int32Dbnull(objLuotkham.SoBenhAn, -1);
                objRavien.IdKhoaravien = globalVariables.idKhoatheoMay;
                objRavien.IdKhoanoitru = objLuotkham.IdKhoanoitru;
                objRavien.TrangThai = 0;

                objRavien.MabenhGiaiphau = txtBenhgiaiphau.MyCode;
               objRavien.MabenhBienchung = txtBenhbienchung.MyCode;
               objRavien.MabenhNguyennhan = txtBenhnguyennhan.MyCode;
               objRavien.MaKquaDieutri = txtKqdieutri.MyCode;
               objRavien.MaKieuchuyenvien = txtKieuchuyenvien.MyCode;
               objRavien.MaTinhtrangravien = txtTinhtrangravien.MyCode;
               objRavien.IdBacsiChuyenvien = Utility.Int16Dbnull(cboDoctorAssign.SelectedValue,-1);
               objRavien.PhuongphapDieutri = Utility.DoTrim(txtPhuongphapdieutri.Text);
               objRavien.TrangthaiChuyenvien = Utility.Bool2byte( chkChuyenvien.Checked );
               objRavien.IdBenhvienDi = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                objRavien.LoidanBacsi= Utility.DoTrim(txtLoidanBS.Text)  ;
                objRavien.YkienDexuat = Utility.DoTrim(txtYkien.Text);
               objRavien.PhuhopChandoanlamsang=  Utility.Bool2byte(chkPhuHopChanDoanCLS.Checked);
               objRavien.NgayCapgiayravien = dtNGAY_CAP_GIAY_RVIEN.Value;
                KcbPhieuchuyenvien _phieuchuyenvien = null;
                if (chkChuyenvien.Checked)
                {
                    _phieuchuyenvien = new Select().From(KcbPhieuchuyenvien.Schema)
                              .Where(KcbPhieuchuyenvien.Columns.IdBenhnhan).IsEqualTo(txtIdBn.Text)
                              .And(KcbPhieuchuyenvien.Columns.MaLuotkham).IsEqualTo(txtMaluotkham.Text)
                              .And(KcbPhieuchuyenvien.Columns.NoiTru).IsEqualTo(1)
                              .ExecuteSingle<KcbPhieuchuyenvien>();

                    if (_phieuchuyenvien == null)
                    {

                        _phieuchuyenvien = new KcbPhieuchuyenvien();
                        _phieuchuyenvien.IsNew = true;
                    }
                    else
                    {
                        _phieuchuyenvien.IsNew = false;
                        _phieuchuyenvien.MarkOld();
                    }
                    _phieuchuyenvien.IdBenhnhan = objLuotkham.IdBenhnhan;
                    _phieuchuyenvien.MaLuotkham = objLuotkham.MaLuotkham;
                    _phieuchuyenvien.IdBenhvienChuyenden = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                    _phieuchuyenvien.DauhieuCls = Utility.DoTrim(txtTinhtrangravien.Text);
                    _phieuchuyenvien.KetquaXnCls = "";
                    _phieuchuyenvien.ChanDoan ="";
                    _phieuchuyenvien.NgayChuyenvien = objRavien.NgayRavien;
                    _phieuchuyenvien.IdBacsiChuyenvien = objRavien.IdBacsiChuyenvien;
                    _phieuchuyenvien.ThuocSudung = "";
                    _phieuchuyenvien.TrangthaiBenhnhan = Utility.DoTrim(txtKqdieutri.Text);
                    _phieuchuyenvien.HuongDieutri = Utility.DoTrim(txtPhuongphapdieutri.Text);
                    _phieuchuyenvien.PhuongtienChuyen = Utility.DoTrim(txtphuongtienvc.Text);
                    _phieuchuyenvien.TenNguoichuyen = Utility.DoTrim(txtNguoivanchuyen.Text);

                    _phieuchuyenvien.IdRavien = Utility.Int32Dbnull(txtIdravien.Text, -1);
                    _phieuchuyenvien.IdKhoanoitru = Utility.Int32Dbnull(txtIdkhoanoitru.Text, -1);
                    _phieuchuyenvien.IdBuong = Utility.Int32Dbnull(txtidBuong.Text, -1);
                    _phieuchuyenvien.IdGiuong = Utility.Int32Dbnull(txtidgiuong.Text, -1);
                }
                using (var scope = new TransactionScope())
                {
                    using (var dbscope = new SharedDbConnectionScope())
                    {
                        objRavien.Save();
                        if (_phieuchuyenvien != null)
                        {
                            _phieuchuyenvien.Save();
                            objLuotkham.TthaiChuyendi = 1;

                            objLuotkham.IdBacsiChuyenvien = _phieuchuyenvien.IdBacsiChuyenvien;
                            objLuotkham.NgayRavien = objRavien.NgayRavien;
                            objLuotkham.IdBenhvienDi = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                        }
                        objLuotkham.NgayRavien = objRavien.NgayRavien;
                        objLuotkham.SoRavien = Utility.Int32Dbnull(objRavien.SophieuRavien);
                        objLuotkham.TrangthaiNoitru = 3;
                        objLuotkham.IsNew = false;
                        objLuotkham.MarkOld();
                        objLuotkham.Save();

                        NoitruPhanbuonggiuong objNoitruPhanbuonggiuong = NoitruPhanbuonggiuong.FetchByID(objLuotkham.IdRavien.Value);
                        if (objNoitruPhanbuonggiuong != null)
                        {
                            objNoitruPhanbuonggiuong.MarkOld();
                            objNoitruPhanbuonggiuong.IsNew = false;
                            objNoitruPhanbuonggiuong.NgayKetthuc = objRavien.NgayRavien;
                            objNoitruPhanbuonggiuong.CachtinhSoluong = 0;
                            objNoitruPhanbuonggiuong.SoluongGio =(int) Math.Ceiling((objNoitruPhanbuonggiuong.NgayKetthuc.Value - objNoitruPhanbuonggiuong.NgayVaokhoa).TotalHours);
                            objNoitruPhanbuonggiuong.SoLuong = THU_VIEN_CHUNG.Songay(objNoitruPhanbuonggiuong.NgayKetthuc.Value, objNoitruPhanbuonggiuong.NgayVaokhoa);
                            objNoitruPhanbuonggiuong.Save();
                        }
                    }
                    scope.Complete();
                }
                mv_blnCancel = false;
                Utility.SetMsg(lblMsg, m_enAct == action.Insert?"Thêm mới phiếu ra viện thành công":"Cập nhật phiếu ra viện thành công", false);
                if (m_enAct == action.Insert)
                    cmdPrint.Enabled = true;
                cmdHuy.Enabled = objRavien != null && objLuotkham != null && objLuotkham.TrangthaiNoitru <= 3;
                m_enAct = action.Update;
                txtId.Text = objRavien.IdRavien.ToString();
            }
            catch (Exception ex)
            {
                Utility.CatchException(ex);
            }
        }
        public void txtMaluotkham_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode == Keys.Enter && Utility.DoTrim(txtMaluotkham.Text) != "")
                {
                    var dtPatient = new DataTable();
                    objLuotkham = null;
                    string _patient_Code = Utility.AutoFullPatientCode(txtMaluotkham.Text);
                    ClearControls();

                    //dtPatient = new KCB_THAMKHAM().TimkiemBenhnhan(txtMaluotkham.Text,
                    //                               -1,0, 0);

                    //DataRow[] arrPatients = dtPatient.Select(KcbLuotkham.Columns.MaLuotkham + "='" + _patient_Code + "'");
                    //if (arrPatients.GetLength(0) <= 0)
                    //{
                    //    if (dtPatient.Rows.Count > 1)
                    //    {
                    //        var frm = new frm_DSACH_BN_TKIEM();
                    //        frm.MaLuotkham = txtMaluotkham.Text;
                    //        frm.dtPatient = dtPatient;
                    //        frm.ShowDialog();
                    //        if (!frm.has_Cancel)
                    //        {
                    //            txtMaluotkham.Text = frm.MaLuotkham;
                    //        }
                    //    }
                    //}
                    //else
                    //{
                    //    txtMaluotkham.Text = _patient_Code;
                    //}
                    txtMaluotkham.Text = _patient_Code;
                    DataTable dt_Patient = new KCB_THAMKHAM().TimkiemThongtinBenhnhansaukhigoMaBN(txtMaluotkham.Text, -1, globalVariables.MA_KHOA_THIEN);
                    if (dt_Patient != null && dt_Patient.Rows.Count > 0)
                    {
                        txtIdBn.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.IdBenhnhan], "");
                        objLuotkham  = new Select().From(KcbLuotkham.Schema).Where(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(txtIdBn.Text)
                                       .And(KcbLuotkham.Columns.MaLuotkham).IsEqualTo(txtMaluotkham.Text)
                                       .ExecuteSingle <KcbLuotkham>();
                        txtTenBN.Text        = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.TenBenhnhan], "");
                        txttuoi.Text         = Utility.sDbnull(dt_Patient.Rows[0]["Tuoi"], "");
                        txtgioitinh.Text     = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.GioiTinh], "");
                        txtDiaChi.Text       = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.DiaChi], "");
                        txtmatheBhyt.Text    = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.MatheBhyt], "");
                        txtKhoanoitru.Text   = Utility.sDbnull(dt_Patient.Rows[0]["ten_khoaphong_noitru"], "");
                        txtBuong.Text        = Utility.sDbnull(dt_Patient.Rows[0][NoitruDmucBuong.Columns.TenBuong], "");
                        txtGiuong.Text       = Utility.sDbnull(dt_Patient.Rows[0][NoitruDmucGiuongbenh.Columns.TenGiuong], "");
                        txtIdkhoanoitru.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdKhoanoitru], "-1");
                        txtIdravien.Text     = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdRavien], "-1");
                        txtidBuong.Text      = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdBuong], "-1");
                        txtidgiuong.Text     = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdGiuong], "-1");
                        txtThuocsudung.Text  = Utility.sDbnull(dt_Patient.Rows[0]["thuoc_sudung"], "");
                        txtMaBenhChinh.Text  = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.MabenhChinh], "");
                        txtChandoan.Text     = Utility.sDbnull(dt_Patient.Rows[0]["chan_doan"], "");
                        txtketquaCls.Text    = Utility.sDbnull(dt_Patient.Rows[0]["ketqua_cls"], "");
                        objPhieuchuyenvien   = new Select().From(KcbPhieuchuyenvien.Schema)
                                               .Where(KcbPhieuchuyenvien.Columns.IdBenhnhan).IsEqualTo(txtIdBn.Text)
                                               .And(KcbPhieuchuyenvien.Columns.MaLuotkham).IsEqualTo(txtMaluotkham.Text)
                                               .ExecuteSingle <KcbPhieuchuyenvien>();
                        if (objPhieuchuyenvien != null)
                        {
                            txtId.Text           = objPhieuchuyenvien.IdPhieu.ToString();
                            txtsochuyenvien.Text = Utility.sDbnull(objPhieuchuyenvien.SoChuyentuyen);
                            txtNoichuyenden.SetId(objPhieuchuyenvien.IdBenhvienChuyenden);
                            txtdauhieucls._Text           = objPhieuchuyenvien.DauhieuCls;
                            txtketquaCls.Text             = objPhieuchuyenvien.KetquaXnCls;
                            txtChandoan.Text              = Utility.sDbnull(objPhieuchuyenvien.ChanDoan, "");
                            txtMaBenhChinh.Text           = Utility.sDbnull(objPhieuchuyenvien.Mabenh, "");
                            txtThuocsudung.Text           = objPhieuchuyenvien.ThuocSudung;
                            txtTrangthainguoibenh._Text   = objPhieuchuyenvien.TrangthaiBenhnhan;
                            txtHuongdieutri._Text         = objPhieuchuyenvien.HuongDieutri;
                            txtphuongtienvc._Text         = objPhieuchuyenvien.PhuongtienChuyen;
                            txtNguoivanchuyen.Text        = objPhieuchuyenvien.TenNguoichuyen;
                            cboDoctorAssign.SelectedIndex = Utility.GetSelectedIndex(cboDoctorAssign, Utility.sDbnull(objPhieuchuyenvien.IdBacsiChuyenvien, "-1"));
                            cmdPrint.Enabled              = true;
                            cmdHuy.Enabled = true;
                        }
                        else
                        {
                            txtsochuyenvien.Text = Utility.sDbnull(GetmaxSoChuyenVien());
                            cmdPrint.Enabled     = false;
                            cmdHuy.Enabled       = false;
                        }
                        m_enAct = objPhieuchuyenvien == null ? action.Insert : action.Update;
                        if (m_enAct == action.Insert)
                        {
                            cmdPrint.Enabled = false;
                        }
                        else
                        {
                            cmdPrint.Enabled = true;
                        }
                        dtNgaychuyenvien.Focus();
                    }
                }
            }
            catch (Exception ex)
            {
                Utility.ShowMsg("Lỗi: " + ex.Message);
            }
            finally
            {
                AllowTextChanged = true;
            }
        }
        void cmdChuyen_Click(object sender, EventArgs e)
        {
            Utility.SetMsg(lblMsg, "", false);
            if (txtNoichuyenden.MyCode == "-1")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin nơi chuyển đến", true);
                txtNoichuyenden.Focus();
                return;
            }
            if (Utility.DoTrim(txtdauhieucls.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin dấu hiệu lâm sàng", true);
                txtdauhieucls.Focus();
                return;
            }
            //if (Utility.DoTrim(txtketquaCls.Text) == "")
            //{
            //    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin kết quả xét nghiệm, cận lâm sàng", true);
            //    txtketquaCls.Focus();
            //    return;
            //}
            if (Utility.DoTrim(txtChandoan.Text) == "" && Utility.DoTrim(txtMaBenhChinh.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin chẩn đoán", true);
                txtMaBenhChinh.Focus();
                return;
            }
            //if (Utility.DoTrim(txtThuocsudung.Text) == "")
            //{
            //    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin Phương pháp, thủ thuật, kỹ thuật, thuốc đã sử dụng trong điều trị:", true);
            //    txtThuocsudung.Focus();
            //    return;
            //}
            if (Utility.DoTrim(txtTrangthainguoibenh.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin trạng thái người bệnh", true);
                txtTrangthainguoibenh.Focus();
                return;
            }
            if (Utility.DoTrim(txtHuongdieutri.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin hướng điều trị", true);
                txtHuongdieutri.Focus();
                return;
            }
            //if (Utility.DoTrim(txtphuongtienvc.Text) == "")
            //{
            //    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin phương tiện vận chuyển", true);
            //    txtphuongtienvc.Focus();
            //    return;
            //}
            //if (Utility.DoTrim(txtNguoivanchuyen.Text) == "")
            //{
            //    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin người vận chuyển", true);
            //    txtNguoivanchuyen.Focus();
            //    return;
            //}

            try
            {
                KcbPhieuchuyenvien _phieuchuyenvien = null;
                SqlQuery           sqlkt            = new Select().From(KcbPhieuchuyenvien.Schema).Where(KcbPhieuchuyenvien.Columns.MaLuotkham).IsEqualTo(Utility.sDbnull(txtMaluotkham.Text));
                if (m_enAct == action.Insert && sqlkt.GetRecordCount() <= 0)
                {
                    _phieuchuyenvien               = new KcbPhieuchuyenvien();
                    _phieuchuyenvien.IsNew         = true;
                    _phieuchuyenvien.NgayTao       = globalVariables.SysDate;
                    _phieuchuyenvien.NguoiTao      = globalVariables.UserName;
                    _phieuchuyenvien.SoChuyentuyen = Utility.Int32Dbnull(GetmaxSoChuyenVien());
                }
                else
                {
                    _phieuchuyenvien       = KcbPhieuchuyenvien.FetchByID(Utility.Int32Dbnull(txtId.Text));
                    _phieuchuyenvien.IsNew = false;
                    _phieuchuyenvien.MarkOld();
                    _phieuchuyenvien.NguoiSua      = globalVariables.UserName;
                    _phieuchuyenvien.NgaySua       = globalVariables.SysDate;
                    _phieuchuyenvien.SoChuyentuyen = Utility.Int32Dbnull(txtsochuyenvien.Text, -1);
                }
                _phieuchuyenvien.IdBenhnhan          = objLuotkham.IdBenhnhan;
                _phieuchuyenvien.MaLuotkham          = objLuotkham.MaLuotkham;
                _phieuchuyenvien.IdBenhvienChuyenden = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                _phieuchuyenvien.DauhieuCls          = Utility.DoTrim(txtdauhieucls.Text);
                _phieuchuyenvien.KetquaXnCls         = Utility.DoTrim(txtketquaCls.Text);
                _phieuchuyenvien.ChanDoan            = Utility.DoTrim(txtChandoan.Text);
                _phieuchuyenvien.Mabenh            = Utility.DoTrim(txtMaBenhChinh.Text);
                _phieuchuyenvien.ThuocSudung       = Utility.DoTrim(txtThuocsudung.Text);
                _phieuchuyenvien.TrangthaiBenhnhan = Utility.DoTrim(txtTrangthainguoibenh.Text);
                _phieuchuyenvien.HuongDieutri      = Utility.DoTrim(txtHuongdieutri.Text);
                _phieuchuyenvien.LydoChuyen        = Utility.sDbnull(radDuDieukien.Checked ? "1" : "0");
                _phieuchuyenvien.PhuongtienChuyen  = Utility.DoTrim(txtphuongtienvc.Text);
                _phieuchuyenvien.NgayChuyenvien    = dtNgaychuyenvien.Value;
                _phieuchuyenvien.IdBacsiChuyenvien = Utility.Int16Dbnull(cboDoctorAssign.SelectedValue, -1);
                _phieuchuyenvien.TenNguoichuyen    = Utility.DoTrim(txtNguoivanchuyen.Text);
                _phieuchuyenvien.NoiTru            = noitru;
                _phieuchuyenvien.IdRavien          = Utility.Int32Dbnull(txtIdravien.Text, -1);
                _phieuchuyenvien.IdKhoanoitru      = Utility.Int32Dbnull(txtIdkhoanoitru.Text, -1);
                _phieuchuyenvien.IdBuong           = Utility.Int32Dbnull(txtidBuong.Text, -1);
                _phieuchuyenvien.IdGiuong          = Utility.Int32Dbnull(txtidgiuong.Text, -1);
                using (var scope = new TransactionScope())
                {
                    using (var dbscope = new SharedDbConnectionScope())
                    {
                        _phieuchuyenvien.Save();
                        objLuotkham.TthaiChuyendi     = 1;
                        objLuotkham.IdBacsiChuyenvien = _phieuchuyenvien.IdBacsiChuyenvien;
                        objLuotkham.MabenhChinh       = _phieuchuyenvien.Mabenh;
                        objLuotkham.NgayKetthuc       = _phieuchuyenvien.NgayChuyenvien;
                        objLuotkham.NguoiKetthuc      = _phieuchuyenvien.NguoiTao;
                        objLuotkham.NgayRavien        = _phieuchuyenvien.NgayChuyenvien;
                        objLuotkham.KetLuan           = "Chuyển viện";
                        objLuotkham.HuongDieutri      = "Chuyển viện";
                        objLuotkham.IdBenhvienDi      = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                        objLuotkham.IsNew             = false;
                        objLuotkham.MarkOld();
                        objLuotkham.Save();
                        KcbChandoanKetluan objChuandoanKetluan =
                            new Select().From(KcbChandoanKetluan.Schema).Where(KcbChandoanKetluan.Columns.MaLuotkham).
                            IsEqualTo(objLuotkham.MaLuotkham).And(KcbChandoanKetluan.Columns.IdBenhnhan).IsEqualTo(
                                objLuotkham.IdBenhnhan).ExecuteSingle <KcbChandoanKetluan>();
                        if (objChuandoanKetluan != null)
                        {
                            new Update(KcbChandoanKetluan.Schema)
                            .Set(KcbChandoanKetluan.Columns.MabenhChinh).EqualTo(objLuotkham.MabenhChinh)
                            .Where(KcbChandoanKetluan.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan)
                            .And(KcbChandoanKetluan.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham)
                            .And(KcbChandoanKetluan.Columns.Noitru).IsEqualTo(0)
                            .Execute();
                        }
                        else
                        {
                            objChuandoanKetluan               = new KcbChandoanKetluan();
                            objChuandoanKetluan.IdBenhnhan    = Utility.Int64Dbnull(objLuotkham.IdBenhnhan);
                            objChuandoanKetluan.MaLuotkham    = Utility.sDbnull(objLuotkham.MaLuotkham, "");
                            objChuandoanKetluan.SongayDieutri = 1;
                            objChuandoanKetluan.MabenhChinh   = objLuotkham.MabenhChinh;
                            objChuandoanKetluan.NgayChandoan  = globalVariables.SysDate;
                            objChuandoanKetluan.NguoiTao      = globalVariables.UserName;
                            objChuandoanKetluan.IdBacsikham   = globalVariables.gv_intIDNhanvien;
                            objChuandoanKetluan.IpMaytao      = globalVariables.gv_strIPAddress;
                            objChuandoanKetluan.Noitru        = 0;
                            objChuandoanKetluan.IsNew         = true;
                            objChuandoanKetluan.Save();
                        }
                        new Update(KcbDangkyKcb.Schema).Set(KcbDangkyKcb.Columns.TrangThai).EqualTo(1).Where(
                            KcbDangkyKcb.Columns.MaLuotkham).IsEqualTo(objLuotkham.MaLuotkham).And(
                            KcbDangkyKcb.Columns.IdBenhnhan).IsEqualTo(objLuotkham.IdBenhnhan).Execute();
                    }
                    scope.Complete();
                }
                Utility.SetMsg(lblMsg, "Cập nhật phiếu chuyển viện thành công", false);
                if (m_enAct == action.Insert)
                {
                    cmdPrint.Enabled = true;
                }
                m_enAct    = action.Update;
                txtId.Text = _phieuchuyenvien.IdPhieu.ToString();
            }
            catch (Exception ex)
            {
                Utility.CatchException(ex);
            }
        }
Exemple #5
0
        private void cmdChuyen_Click(object sender, EventArgs e)
        {
            Utility.SetMsg(lblMsg, "", false);
            if (Utility.DoTrim(txtGioRaVien.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin giờ ra viện", true);
                txtGioRaVien.Focus();
                return;
            }
            if (Utility.Int32Dbnull(txtGioRaVien.Text, 0) >= 24)
            {
                Utility.SetMsg(lblMsg, "Giờ ra viện nằm trong khoảng giá trị từ 0 đến 23", true);
                txtGioRaVien.Focus();
                return;
            }
            if (Utility.DoTrim(txtPhuRaVien.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin phút ra viện", true);
                txtPhuRaVien.Focus();
                return;
            }
            if (Utility.Int32Dbnull(txtPhuRaVien.Text, 0) >= 60)
            {
                Utility.SetMsg(lblMsg, "Phút ra viện nằm trong khoảng giá trị từ 0 đến 59", true);
                txtPhuRaVien.Focus();
                return;
            }
            if (Utility.DoTrim(txtSoRaVien.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin số phiếu ra viện", true);
                txtSoRaVien.Focus();
                return;
            }
            if (chkChuyenvien.Checked)
            {
                if (txtNoichuyenden.MyCode == "-1")
                {
                    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin nơi chuyển đến", true);
                    txtNoichuyenden.Focus();
                    return;
                }
            }
            //if (txtKqdieutri.MyCode == "-1")
            //{
            //    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin kết quả điều trị", true);
            //    txtKqdieutri.Focus();
            //    return;
            //}
            //if (txtTinhtrangravien.MyCode == "-1")
            //{
            //    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin tình trạng ra viện", true);
            //    txtTinhtrangravien.Focus();
            //    return;
            //}
            //if (Utility.DoTrim(txtLoidanBS.Text) == "")
            //{
            //    Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin lời dặn bác sĩ", true);
            //    txtLoidanBS.Focus();
            //    return;
            //}


            try
            {
                if (m_enAct == action.Insert)
                {
                    objRavien       = new NoitruPhieuravien();
                    objRavien.IsNew = true;
                }
                else
                {
                    objRavien       = NoitruPhieuravien.FetchByID(Utility.Int32Dbnull(txtId.Text));
                    objRavien.IsNew = false;
                    objRavien.MarkOld();
                }
                objRavien.NgayRavien = new DateTime(dtpNgayravien.Value.Year, dtpNgayravien.Value.Month,
                                                    dtpNgayravien.Value.Day, Utility.Int32Dbnull(txtGioRaVien.Text, 0),
                                                    Utility.Int32Dbnull(txtPhuRaVien.Text, 0), 0);
                objRavien.SophieuRavien         = Utility.DoTrim(txtSoRaVien.Text);
                objRavien.TongsongayDieutri     = Utility.Int32Dbnull(txtTongSoNgayDtri.Text);
                objRavien.MabenhChinh           = txtBenhchinh.MyCode;
                objRavien.MotaBenhchinh         = txtBenhchinh.Text;
                objRavien.IdBenhnhan            = objLuotkham.IdBenhnhan;
                objRavien.MaLuotkham            = objLuotkham.MaLuotkham;
                objRavien.SoBenhAn              = Utility.Int32Dbnull(objLuotkham.SoBenhAn, -1);
                objRavien.IdKhoaravien          = globalVariables.idKhoatheoMay;
                objRavien.IdKhoanoitru          = objLuotkham.IdKhoanoitru;
                objRavien.TrangThai             = 0;
                objRavien.MabenhGiaiphau        = txtBenhgiaiphau.MyCode;
                objRavien.MabenhBienchung       = txtBenhbienchung.MyCode;
                objRavien.MabenhNguyennhan      = txtBenhnguyennhan.MyCode;
                objRavien.MaKquaDieutri         = txtKqdieutri.MyCode;
                objRavien.MaKieuchuyenvien      = txtKieuchuyenvien.MyCode;
                objRavien.MaTinhtrangravien     = txtTinhtrangravien.MyCode;
                objRavien.IdBacsiChuyenvien     = Utility.Int16Dbnull(cboDoctorAssign.SelectedValue, -1);
                objRavien.PhuongphapDieutri     = Utility.DoTrim(txtPhuongphapdieutri.Text);
                objRavien.TrangthaiChuyenvien   = Utility.Bool2byte(chkChuyenvien.Checked);
                objRavien.IdBenhvienDi          = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                objRavien.LoidanBacsi           = Utility.DoTrim(txtLoidanBS.Text);
                objRavien.YkienDexuat           = Utility.DoTrim(txtYkien.Text);
                objRavien.PhuhopChandoanlamsang = Utility.Bool2byte(chkPhuHopChanDoanCLS.Checked);
                objRavien.NgayCapgiayravien     = dtNGAY_CAP_GIAY_RVIEN.Value;
                KcbPhieuchuyenvien _phieuchuyenvien = null;
                if (chkChuyenvien.Checked)
                {
                    _phieuchuyenvien = new Select().From(KcbPhieuchuyenvien.Schema)
                                       .Where(KcbPhieuchuyenvien.Columns.IdBenhnhan).IsEqualTo(txtIdBn.Text)
                                       .And(KcbPhieuchuyenvien.Columns.MaLuotkham).IsEqualTo(txtMaluotkham.Text)
                                       .And(KcbPhieuchuyenvien.Columns.NoiTru).IsEqualTo(1)
                                       .ExecuteSingle <KcbPhieuchuyenvien>();

                    if (_phieuchuyenvien == null)
                    {
                        _phieuchuyenvien       = new KcbPhieuchuyenvien();
                        _phieuchuyenvien.IsNew = true;
                    }
                    else
                    {
                        _phieuchuyenvien.IsNew = false;
                        _phieuchuyenvien.MarkOld();
                    }
                    _phieuchuyenvien.IdBenhnhan          = objLuotkham.IdBenhnhan;
                    _phieuchuyenvien.MaLuotkham          = objLuotkham.MaLuotkham;
                    _phieuchuyenvien.IdBenhvienChuyenden = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                    _phieuchuyenvien.DauhieuCls          = Utility.DoTrim(txtTinhtrangravien.Text);
                    _phieuchuyenvien.KetquaXnCls         = "";
                    _phieuchuyenvien.ChanDoan            = "";
                    _phieuchuyenvien.NgayChuyenvien      = objRavien.NgayRavien;
                    _phieuchuyenvien.IdBacsiChuyenvien   = objRavien.IdBacsiChuyenvien;
                    _phieuchuyenvien.ThuocSudung         = "";
                    _phieuchuyenvien.TrangthaiBenhnhan   = Utility.DoTrim(txtKqdieutri.Text);
                    _phieuchuyenvien.HuongDieutri        = Utility.DoTrim(txtPhuongphapdieutri.Text);
                    _phieuchuyenvien.PhuongtienChuyen    = Utility.DoTrim(txtphuongtienvc.Text);
                    _phieuchuyenvien.TenNguoichuyen      = Utility.DoTrim(txtNguoivanchuyen.Text);

                    _phieuchuyenvien.IdRavien     = Utility.Int32Dbnull(txtIdravien.Text, -1);
                    _phieuchuyenvien.IdKhoanoitru = Utility.Int32Dbnull(txtIdkhoanoitru.Text, -1);
                    _phieuchuyenvien.IdBuong      = Utility.Int32Dbnull(txtidBuong.Text, -1);
                    _phieuchuyenvien.IdGiuong     = Utility.Int32Dbnull(txtidgiuong.Text, -1);
                }
                using (var scope = new TransactionScope())
                {
                    using (var dbscope = new SharedDbConnectionScope())
                    {
                        objRavien.Save();
                        if (_phieuchuyenvien != null)
                        {
                            _phieuchuyenvien.Save();
                            objLuotkham.TthaiChuyendi = 1;

                            objLuotkham.IdBacsiChuyenvien = _phieuchuyenvien.IdBacsiChuyenvien;
                            objLuotkham.NgayRavien        = objRavien.NgayRavien;
                            objLuotkham.IdBenhvienDi      = Utility.Int16Dbnull(txtNoichuyenden.MyID, -1);
                        }
                        objLuotkham.NgayRavien      = objRavien.NgayRavien;
                        objLuotkham.IdRavien        = objRavien.IdRavien;
                        objLuotkham.SoRavien        = Utility.sDbnull(objRavien.IdRavien);
                        objLuotkham.TrangthaiNoitru = 3;
                        objLuotkham.IsNew           = false;
                        objLuotkham.MarkOld();
                        objLuotkham.Save();

                        NoitruPhanbuonggiuong objNoitruPhanbuonggiuong =
                            NoitruPhanbuonggiuong.FetchByID(objLuotkham.IdRavien.Value);
                        if (objNoitruPhanbuonggiuong != null)
                        {
                            objNoitruPhanbuonggiuong.MarkOld();
                            objNoitruPhanbuonggiuong.IsNew           = false;
                            objNoitruPhanbuonggiuong.NgayKetthuc     = objRavien.NgayRavien;
                            objNoitruPhanbuonggiuong.CachtinhSoluong = 0;
                            objNoitruPhanbuonggiuong.SoluongGio      =
                                (int)
                                Math.Ceiling(
                                    (objNoitruPhanbuonggiuong.NgayKetthuc.Value -
                                     objNoitruPhanbuonggiuong.NgayVaokhoa).TotalHours);
                            objNoitruPhanbuonggiuong.SoLuong =
                                THU_VIEN_CHUNG.Songay(objNoitruPhanbuonggiuong.NgayKetthuc.Value,
                                                      objNoitruPhanbuonggiuong.NgayVaokhoa);
                            objNoitruPhanbuonggiuong.Save();
                        }
                    }
                    scope.Complete();
                }
                mv_blnCancel = false;
                Utility.SetMsg(lblMsg,
                               m_enAct == action.Insert ? "Thêm mới phiếu ra viện thành công" : "Cập nhật phiếu ra viện thành công",
                               false);
                if (m_enAct == action.Insert)
                {
                    cmdPrint.Enabled = true;
                }
                cmdHuy.Enabled = objRavien != null && objLuotkham != null && objLuotkham.TrangthaiNoitru <= 3;
                m_enAct        = action.Update;
                txtId.Text     = objRavien.IdRavien.ToString();
            }
            catch (Exception ex)
            {
                Utility.CatchException(ex);
            }
        }
        void txtMaluotkham_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode == Keys.Enter && Utility.DoTrim(txtMaluotkham.Text) != "")
                {
                    var dtPatient = new DataTable();

                        objLuotkham = null;
                        string _patient_Code = Utility.AutoFullPatientCode(txtMaluotkham.Text);
                        ClearControls();

                        dtPatient = new KCB_THAMKHAM().TimkiemBenhnhan(txtMaluotkham.Text,
                                                       -1,0, 0);

                        DataRow[] arrPatients = dtPatient.Select(KcbLuotkham.Columns.MaLuotkham + "='" + _patient_Code + "'");
                        if (arrPatients.GetLength(0) <= 0)
                        {
                            if (dtPatient.Rows.Count > 1)
                            {
                                var frm = new frm_DSACH_BN_TKIEM();
                                frm.MaLuotkham = txtMaluotkham.Text;
                                frm.dtPatient = dtPatient;
                                frm.ShowDialog();
                                if (!frm.has_Cancel)
                                {
                                    txtMaluotkham.Text = frm.MaLuotkham;
                                }
                            }
                        }
                        else
                        {
                            txtMaluotkham.Text = _patient_Code;
                        }
                        DataTable dt_Patient = new KCB_THAMKHAM().TimkiemThongtinBenhnhansaukhigoMaBN(txtMaluotkham.Text, -1, globalVariables.MA_KHOA_THIEN);
                        if (dt_Patient != null && dt_Patient.Rows.Count > 0)
                        {

                            txtIdBn.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.IdBenhnhan], "");
                            objLuotkham = new Select().From(KcbLuotkham.Schema).Where(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(txtIdBn.Text)
                                .And(KcbLuotkham.Columns.MaLuotkham).IsEqualTo(txtMaluotkham.Text)
                                .ExecuteSingle<KcbLuotkham>();
                            txtTenBN.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.TenBenhnhan], "");
                            txttuoi.Text = Utility.sDbnull(dt_Patient.Rows[0]["Tuoi"], "");
                            txtgioitinh.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.GioiTinh], "");
                            txtDiaChi.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbDanhsachBenhnhan.Columns.DiaChi], "");
                            txtmatheBhyt.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.MatheBhyt], "");

                            txtKhoanoitru.Text = Utility.sDbnull(dt_Patient.Rows[0]["ten_khoaphong_noitru"], "");
                            txtBuong.Text = Utility.sDbnull(dt_Patient.Rows[0][NoitruDmucBuong.Columns.TenBuong], "");
                            txtGiuong.Text = Utility.sDbnull(dt_Patient.Rows[0][NoitruDmucGiuongbenh.Columns.TenGiuong], "");

                            txtIdkhoanoitru.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdKhoanoitru], "-1");
                            txtIdravien.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdRavien], "-1");
                            txtidBuong.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdBuong], "-1");
                            txtidgiuong.Text = Utility.sDbnull(dt_Patient.Rows[0][KcbLuotkham.Columns.IdGiuong], "-1");

                            objPhieuchuyenvien = new Select().From(KcbPhieuchuyenvien.Schema)
                               .Where(KcbPhieuchuyenvien.Columns.IdBenhnhan).IsEqualTo(txtIdBn.Text)
                               .And(KcbPhieuchuyenvien.Columns.MaLuotkham).IsEqualTo(txtMaluotkham.Text)
                               .ExecuteSingle<KcbPhieuchuyenvien>();
                            if (objPhieuchuyenvien != null)
                            {
                                txtId.Text = objPhieuchuyenvien.IdPhieu.ToString();
                                txtNoichuyenden.SetId(objPhieuchuyenvien.IdBenhvienChuyenden);
                                txtdauhieucls._Text = objPhieuchuyenvien.DauhieuCls;
                                txtketquaCls.Text = objPhieuchuyenvien.KetquaXnCls;
                                txtChandoan.Text = objPhieuchuyenvien.ChanDoan;
                                txtThuocsudung.Text = objPhieuchuyenvien.ThuocSudung;
                                txtTrangthainguoibenh._Text = objPhieuchuyenvien.TrangthaiBenhnhan;
                                txtHuongdieutri._Text = objPhieuchuyenvien.HuongDieutri;
                                txtphuongtienvc._Text = objPhieuchuyenvien.PhuongtienChuyen;
                                txtNguoivanchuyen.Text = objPhieuchuyenvien.TenNguoichuyen;
                                cboDoctorAssign.SelectedIndex = Utility.GetSelectedIndex(cboDoctorAssign,Utility.sDbnull( objPhieuchuyenvien.IdBacsiChuyenvien,"-1"));
                                cmdPrint.Enabled = true;
                                cmdHuy.Enabled = true;
                            }
                            else
                            {
                                cmdPrint.Enabled = false;
                                cmdHuy.Enabled = false;
                            }
                            m_enAct = objPhieuchuyenvien == null ? action.Insert : action.Update;
                            if (m_enAct == action.Insert)
                                cmdPrint.Enabled = false;
                            else
                                cmdPrint.Enabled = true;
                            dtNgaychuyenvien.Focus();
                        }

                }
            }
            catch (Exception)
            {
                Utility.ShowMsg("Có lỗi trong quá trình lấy thông tin bệnh nhân");
            }
            finally
            {

                AllowTextChanged = true;
            }
        }
        void cmdChuyen_Click(object sender, EventArgs e)
        {
            Utility.SetMsg(lblMsg, "", false);
            if (txtNoichuyenden.MyCode == "-1")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin nơi chuyển đến", true);
                txtNoichuyenden.Focus();
                return;
            }
            if (Utility.DoTrim(txtdauhieucls.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin dấu hiệu Cận lâm sàng", true);
                txtdauhieucls.Focus();
                return;
            }
            if (Utility.DoTrim(txtketquaCls.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin kết quả xét nghiệm, cận lâm sàng", true);
                txtketquaCls.Focus();
                return;
            }
            if (Utility.DoTrim(txtChandoan.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin chẩn đoán", true);
                txtChandoan.Focus();
                return;
            }
            if (Utility.DoTrim(txtThuocsudung.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin Phương pháp, thủ thuật, kỹ thuật, thuốc đã sử dụng trong điều trị:", true);
                txtThuocsudung.Focus();
                return;
            }
            if (Utility.DoTrim(txtTrangthainguoibenh.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin trạng thái người bệnh", true);
                txtTrangthainguoibenh.Focus();
                return;
            }
            if (Utility.DoTrim(txtHuongdieutri.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin hướng điều trị", true);
                txtHuongdieutri.Focus();
                return;
            }
            if (Utility.DoTrim(txtphuongtienvc.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin phương tiện vận chuyển", true);
                txtphuongtienvc.Focus();
                return;
            }
            if (Utility.DoTrim(txtNguoivanchuyen.Text) == "")
            {
                Utility.SetMsg(lblMsg, "Bạn phải nhập thông tin người vận chuyển", true);
                txtNguoivanchuyen.Focus();
                return;
            }

            try
            {
                KcbPhieuchuyenvien _phieuchuyenvien = null;
                if (m_enAct == action.Insert)
                {
                    _phieuchuyenvien = new KcbPhieuchuyenvien();
                    _phieuchuyenvien.IsNew = true;
                }
                else
                {
                    _phieuchuyenvien = KcbPhieuchuyenvien.FetchByID(Utility.Int32Dbnull(txtId.Text));
                    _phieuchuyenvien.IsNew = false;
                    _phieuchuyenvien.MarkOld();
                }
                _phieuchuyenvien.IdBenhnhan = objLuotkham.IdBenhnhan;
                _phieuchuyenvien.MaLuotkham = objLuotkham.MaLuotkham;
                _phieuchuyenvien.IdBenhvienChuyenden =Utility.Int16Dbnull( txtNoichuyenden.MyID,-1);
                _phieuchuyenvien.DauhieuCls = Utility.DoTrim(txtdauhieucls.Text);
                _phieuchuyenvien.KetquaXnCls = Utility.DoTrim(txtketquaCls.Text);
                _phieuchuyenvien.ChanDoan = Utility.DoTrim(txtChandoan.Text);
                _phieuchuyenvien.ThuocSudung = Utility.DoTrim(txtThuocsudung.Text);
                _phieuchuyenvien.TrangthaiBenhnhan = Utility.DoTrim(txtTrangthainguoibenh.Text);
                _phieuchuyenvien.HuongDieutri = Utility.DoTrim(txtHuongdieutri.Text);
                _phieuchuyenvien.PhuongtienChuyen = Utility.DoTrim(txtphuongtienvc.Text);
                _phieuchuyenvien.NgayChuyenvien = dtNgaychuyenvien.Value;
                _phieuchuyenvien.IdBacsiChuyenvien = Utility.Int16Dbnull(cboDoctorAssign.SelectedValue, -1);
                _phieuchuyenvien.TenNguoichuyen = Utility.DoTrim(txtNguoivanchuyen.Text);
                _phieuchuyenvien.NoiTru = noitru;
                _phieuchuyenvien.IdRavien = Utility.Int32Dbnull(txtIdravien.Text,-1);
                _phieuchuyenvien.IdKhoanoitru = Utility.Int32Dbnull(txtIdkhoanoitru.Text, -1);
                _phieuchuyenvien.IdBuong = Utility.Int32Dbnull(txtidBuong.Text, -1);
                _phieuchuyenvien.IdGiuong = Utility.Int32Dbnull(txtidgiuong.Text, -1);

                using (var scope = new TransactionScope())
                {
                    using (var dbscope = new SharedDbConnectionScope())
                    {
                        _phieuchuyenvien.Save();
                        objLuotkham.TthaiChuyendi = 1;
                        objLuotkham.IdBacsiChuyenvien = _phieuchuyenvien.IdBacsiChuyenvien;
                        objLuotkham.NgayRavien = _phieuchuyenvien.NgayChuyenvien;
                        objLuotkham.IdBenhvienDi = Utility.Int16Dbnull(txtNoichuyenden.MyID,-1);
                        objLuotkham.IsNew = false;
                        objLuotkham.MarkOld();
                        objLuotkham.Save();
                    }
                    scope.Complete();
                }
                Utility.SetMsg(lblMsg, "Cập nhật phiếu chuyển viện thành công", false);
                if (m_enAct == action.Insert)
                    cmdPrint.Enabled = true;
                m_enAct = action.Update;
                txtId.Text = _phieuchuyenvien.IdPhieu.ToString();
            }
            catch (Exception ex)
            {
                Utility.CatchException(ex);
            }
        }