private void UpdateDonThuoc()
 {
     try
     {
         if (grdPresDetail.CurrentRow != null && grdPresDetail.CurrentRow.RowType == RowType.Record)
         {
             KcbLuotkham objPatientExam = CreatePatientExam();
             if (objPatientExam != null)
             {
                 int Pres_ID = Utility.Int32Dbnull(grdPresDetail.GetValue(KcbDonthuocChitiet.Columns.IdDonthuoc));
                 if (Donthuoc_DangXacnhan(Pres_ID))
                 {
                     Utility.ShowMsg(
                         "Đơn thuốc này đang ở trạng thái đã duyệt cho Bệnh nhân nên không thể chỉnh sửa. Đề nghị quay lại hỏi bộ phận cấp phát thuốc tại phòng Dược");
                     return;
                 }
                 var v_collect = new Select().From(KcbDonthuocChitiet.Schema.TableName)
                     .Where(KcbDonthuocChitiet.TrangthaiThanhtoanColumn.ColumnName).IsEqualTo(1)
                     .And(KcbDonthuocChitiet.IdDonthuocColumn.ColumnName).IsEqualTo(Pres_ID)
                     .ExecuteAsCollection<KcbDonthuocChitietCollection>();
                 if (v_collect.Count > 0)
                 {
                     Utility.ShowMsg(
                         "Đơn thuốc bạn đang chọn sửa đã được thanh toán. Muốn sửa lại đơn thuốc Bạn cần phải liên hệ với bộ phận Thanh toán để hủy thanh toán và Bộ phận cấp thuốc để hủy xác nhận đơn thuốc tại kho thuốc");
                     return;
                 }
                 KcbDonthuoc objPrescription = KcbDonthuoc.FetchByID(Pres_ID);
                 if (objPrescription != null)
                 {
                     frm_KCB_KE_DONTHUOC frm = new frm_KCB_KE_DONTHUOC("THUOC");
                     frm.em_Action = action.Update;
                     frm._KcbChandoanKetluan = _KcbChandoanKetluan;
                     frm._MabenhChinh = txtMaBenhChinh.Text;
                     frm._Chandoan = txtChanDoan.Text;
                     frm.dt_ICD = dt_ICD;
                     if (objPhieudieutri != null)
                         frm.forced2Add = Utility.Byte2Bool(objPhieudieutri.TthaiBosung);
                     frm.dt_ICD_PHU = dt_ICD_PHU;
                     frm.noitru = 1;
                     frm.objLuotkham = CreatePatientExam();
                     frm.id_kham =-1;
                     frm.objPhieudieutriNoitru = NoitruPhieudieutri.FetchByID(Utility.Int32Dbnull(txtIdPhieudieutri.Text));
                     frm.txtPatientCode.Text = Utility.sDbnull(objLuotkham.MaLuotkham);
                     frm.txtPatientID.Text = Utility.sDbnull(objLuotkham.IdBenhnhan);
                     frm.txtPres_ID.Text = Utility.sDbnull(objPrescription.IdDonthuoc);
                     frm.CallActionKeDon = CallActionKieuKeDon.TheoDoiTuong;
                     frm.ShowDialog();
                     if (frm.b_Cancel)
                     {
                         txtMaBenhChinh.Text = frm._MabenhChinh;
                         txtChanDoan._Text = frm._Chandoan;
                         dt_ICD_PHU = frm.dt_ICD_PHU;
                         if (frm._KcbChandoanKetluan != null) _KcbChandoanKetluan = frm._KcbChandoanKetluan;
                         LaythongtinPhieudieutri();
                         TinhtoanTongchiphi();
                         Utility.GotoNewRowJanus(grdPresDetail, KcbDonthuocChitiet.Columns.IdDonthuoc,
                                                 Utility.sDbnull(frm.txtPres_ID.Text));
                         ModifyCommmands();
                     }
                 }
             }
         }
     }
     catch
     {
     }
 }
 private void ThemphieuVattu_tronggoi()
 {
     try
     {
         // KeDonThuocTheoDoiTuong();
         frm_KCB_KE_DONTHUOC frm = new frm_KCB_KE_DONTHUOC("VT");
         frm.em_Action = action.Insert;
         frm.objLuotkham = CreatePatientExam();
         frm._KcbChandoanKetluan = _KcbChandoanKetluan;
         frm._MabenhChinh = txtMaBenhChinh.Text;
         frm._Chandoan = txtChanDoan.Text;
         if (objPhieudieutri != null)
             frm.forced2Add = Utility.Byte2Bool(objPhieudieutri.TthaiBosung);
         frm.dt_ICD = dt_ICD;
         frm.dt_ICD_PHU = dt_ICD_PHU;
         frm.id_kham = Utility.Int32Dbnull(txtExam_ID.Text);
         frm.objPhieudieutriNoitru = NoitruPhieudieutri.FetchByID(Utility.Int32Dbnull(txtIdPhieudieutri.Text));
         frm.txtPatientCode.Text = Utility.sDbnull(objLuotkham.MaLuotkham);
         frm.id_kham = -1;
         frm.id_goidv=Utility.Int32Dbnull(Utility.GetValueFromGridColumn(grdGoidichvu,KcbChidinhclsChitiet.Columns.IdChitietchidinh),-1) ;
         frm.trong_goi=1;
         frm.txtPatientID.Text = Utility.sDbnull(objLuotkham.IdBenhnhan);
         frm.txtPres_ID.Text = "-1";
         frm.noitru = 1;
         frm.CallActionKeDon = CallActionKieuKeDon.TheoDoiTuong;
         frm.ShowDialog();
         if (frm.b_Cancel)
         {
             txtMaBenhChinh.Text = frm._MabenhChinh;
             txtChanDoan._Text = frm._Chandoan;
             dt_ICD_PHU = frm.dt_ICD_PHU;
             if (frm._KcbChandoanKetluan != null) _KcbChandoanKetluan = frm._KcbChandoanKetluan;
             LaythongtinPhieudieutri();
             TinhtoanTongchiphi();
             Utility.GotoNewRowJanus(grdVTTH_tronggoi, KcbDonthuoc.Columns.IdDonthuoc,
                                     Utility.sDbnull(frm.txtPres_ID.Text));
             ModifyCommmands();
         }
     }
     catch (Exception exception)
     {
         if (globalVariables.IsAdmin)
         {
             Utility.ShowMsg(exception.ToString());
         }
     }
     finally
     {
         txtPatient_Code.Focus();
         txtPatient_Code.SelectAll();
     }
 }
 private void ThemphieuVattu()
 {
     try
     {
         // KeDonThuocTheoDoiTuong();
         var frm = new frm_KCB_KE_DONTHUOC("VT");
         frm.em_Action = action.Insert;
         frm.objLuotkham = objLuotkham;
         frm._KcbChandoanKetluan = _KcbChandoanKetluan;
         frm._MabenhChinh = txtMaBenhChinh.Text;
         frm._Chandoan = txtChanDoan.Text;
         frm.dt_ICD = dt_ICD;
         frm.dt_ICD_PHU = dt_ICD_PHU;
         frm.id_kham = Utility.Int32Dbnull(txtExam_ID.Text);
         frm.objPhieudieutriNoitru = null;
         frm.txtPatientCode.Text = Utility.sDbnull(objLuotkham.MaLuotkham);
         frm.txtPatientID.Text = Utility.sDbnull(objLuotkham.IdBenhnhan);
         frm.txtPres_ID.Text = "-1";
         frm.noitru = 0;
         frm.CallActionKeDon = CallActionKieuKeDon.TheoDoiTuong;
         frm.ShowDialog();
         if (!frm.m_blnCancel)
         {
             txtMaBenhChinh.Text = frm._MabenhChinh;
             txtChanDoan._Text = frm._Chandoan;
             dt_ICD_PHU = frm.dt_ICD_PHU;
             if (frm._KcbChandoanKetluan != null) _KcbChandoanKetluan = frm._KcbChandoanKetluan;
             Laythongtinchidinhngoaitru();
             Utility.GotoNewRowJanus(grdVTTH, KcbDonthuoc.Columns.IdDonthuoc,
                                     Utility.sDbnull(frm.txtPres_ID.Text));
         }
     }
     catch (Exception exception)
     {
         if (globalVariables.IsAdmin)
         {
             Utility.ShowMsg(exception.ToString());
         }
     }
     finally
     {
         ModifyCommmands();
         txtPatient_Code.Focus();
         txtPatient_Code.SelectAll();
     }
 }
 private void SuaphieuVattu_tronggoi()
 {
     try
     {
         if (!CheckPatientSelected()) return;
         if (!Utility.isValidGrid(grdVTTH_tronggoi))
         {
             if (grdVTTH_tronggoi.GetDataRows().Length > 0)
                 grdVTTH_tronggoi.MoveFirst();
         }
         //Check lại cho chắc ăn
         if (!Utility.isValidGrid(grdVTTH_tronggoi))
         {
             return;
         }
         KcbLuotkham objPatientExam = CreatePatientExam();
         if (objPatientExam != null)
         {
             int Pres_ID = Utility.Int32Dbnull(grdVTTH.GetValue(KcbDonthuocChitiet.Columns.IdDonthuoc));
             if (Donthuoc_DangXacnhan(Pres_ID))
             {
                 Utility.ShowMsg(
                     "Phiếu vật tư này đang ở trạng thái đã duyệt cho Bệnh nhân nên không thể chỉnh sửa. Đề nghị quay lại hỏi bộ phận cấp phát vật tư để xác nhận");
                 return;
             }
             var v_collect = new Select().From(KcbDonthuocChitiet.Schema.TableName)
                 .Where(KcbDonthuocChitiet.TrangthaiThanhtoanColumn.ColumnName).IsEqualTo(1)
                 .And(KcbDonthuocChitiet.IdDonthuocColumn.ColumnName).IsEqualTo(Pres_ID)
                 .ExecuteAsCollection<KcbDonthuocChitietCollection>();
             if (v_collect.Count > 0)
             {
                 Utility.ShowMsg(
                     "Phiếu vật tư bạn đang chọn sửa đã được thanh toán. Muốn sửa lại Phiếu vật tư Bạn cần phải liên hệ với bộ phận Thanh toán để hủy thanh toán và Bộ phận cấp vật tư tiêu hao để hủy xác nhận Phiếu vật tư tại kho vật tư");
                 return;
             }
             KcbDonthuoc objPrescription = KcbDonthuoc.FetchByID(Pres_ID);
             if (objPrescription != null)
             {
                 frm_KCB_KE_DONTHUOC frm = new frm_KCB_KE_DONTHUOC("VT");
                 frm.em_Action = action.Update;
                 frm._KcbChandoanKetluan = _KcbChandoanKetluan;
                 frm._MabenhChinh = txtMaBenhChinh.Text;
                 frm._Chandoan = txtChanDoan.Text;
                 frm.dt_ICD = dt_ICD;
                 frm.dt_ICD_PHU = dt_ICD_PHU;
                 if (objPhieudieutri != null)
                     frm.forced2Add = Utility.Byte2Bool(objPhieudieutri.TthaiBosung);
                 frm.noitru = 1;
                 frm.id_goidv = Utility.Int32Dbnull(Utility.GetValueFromGridColumn(grdGoidichvu, KcbChidinhclsChitiet.Columns.IdChitietchidinh), -1);
                 frm.trong_goi = 1;
                 frm.objLuotkham = CreatePatientExam();
                 frm.id_kham = -1;
                 frm.objPhieudieutriNoitru = NoitruPhieudieutri.FetchByID(Utility.Int32Dbnull(txtIdPhieudieutri.Text));
                 frm.txtPatientCode.Text = Utility.sDbnull(objLuotkham.MaLuotkham);
                 frm.txtPatientID.Text = Utility.sDbnull(objLuotkham.IdBenhnhan);
                 frm.txtPres_ID.Text = Utility.sDbnull(objPrescription.IdDonthuoc);
                 frm.CallActionKeDon = CallActionKieuKeDon.TheoDoiTuong;
                 frm.ShowDialog();
                 if (frm.b_Cancel)
                 {
                     txtMaBenhChinh.Text = frm._MabenhChinh;
                     txtChanDoan._Text = frm._Chandoan;
                     dt_ICD_PHU = frm.dt_ICD_PHU;
                     if (frm._KcbChandoanKetluan != null) _KcbChandoanKetluan = frm._KcbChandoanKetluan;
                     LaythongtinPhieudieutri();
                     TinhtoanTongchiphi();
                     Utility.GotoNewRowJanus(grdVTTH_tronggoi, KcbDonthuocChitiet.Columns.IdDonthuoc,
                                             Utility.sDbnull(frm.txtPres_ID.Text));
                     ModifyCommmands();
                 }
             }
         }
     }
     catch
     {
     }
 }
        private void SuaphieuVattu()
        {
            try
            {
                if (!CheckPatientSelected()) return;
                if (!Utility.isValidGrid(grdVTTH)) return;

                KcbLuotkham objPatientExam = objLuotkham;
                if (objPatientExam != null)
                {
                    int Pres_ID = Utility.Int32Dbnull(grdVTTH.GetValue(KcbDonthuocChitiet.Columns.IdDonthuoc));
                    if (Donthuoc_DangXacnhan(Pres_ID))
                    {
                        Utility.ShowMsg(
                            "Phiếu vật tư này đang ở trạng thái đã duyệt cho Bệnh nhân nên không thể chỉnh sửa. Đề nghị quay lại hỏi bộ phận cấp phát vật tư tại phòng vật tư");
                        return;
                    }
                    var v_collect = new Select().From(KcbDonthuocChitiet.Schema.TableName)
                        .Where(KcbDonthuocChitiet.TrangthaiThanhtoanColumn.ColumnName).IsEqualTo(1)
                        .And(KcbDonthuocChitiet.IdDonthuocColumn.ColumnName).IsEqualTo(Pres_ID)
                        .ExecuteAsCollection<KcbDonthuocChitietCollection>();
                    if (v_collect.Count > 0)
                    {
                        Utility.ShowMsg(
                            "Phiếu vật tư bạn đang chọn sửa đã được thanh toán. Muốn sửa lại Phiếu vật tư Bạn cần phải liên hệ với bộ phận Thanh toán để hủy thanh toán và Bộ phận cấp vật tư để hủy xác nhận Phiếu vật tư tại kho vật tư");
                        return;
                    }
                    KcbDonthuoc objPrescription = KcbDonthuoc.FetchByID(Pres_ID);
                    if (objPrescription != null)
                    {
                        var frm = new frm_KCB_KE_DONTHUOC("VT");
                        frm.em_Action = action.Update;
                        frm._KcbChandoanKetluan = _KcbChandoanKetluan;
                        frm._MabenhChinh = txtMaBenhChinh.Text;
                        frm._Chandoan = txtChanDoan.Text;
                        frm.dt_ICD = dt_ICD;
                        frm.dt_ICD_PHU = dt_ICD_PHU;
                        frm.noitru = 0;
                        frm.objLuotkham = objLuotkham;
                        frm.id_kham = Utility.Int32Dbnull(txtExam_ID.Text);
                        frm.objPhieudieutriNoitru = null;
                        frm.txtPatientCode.Text = Utility.sDbnull(objLuotkham.MaLuotkham);
                        frm.txtPatientID.Text = Utility.sDbnull(objLuotkham.IdBenhnhan);
                        frm.txtPres_ID.Text = Utility.sDbnull(objPrescription.IdDonthuoc);
                        frm.CallActionKeDon = CallActionKieuKeDon.TheoDoiTuong;
                        frm.ShowDialog();
                        if (!frm.m_blnCancel)
                        {
                            txtMaBenhChinh.Text = frm._MabenhChinh;
                            txtChanDoan._Text = frm._Chandoan;
                            dt_ICD_PHU = frm.dt_ICD_PHU;
                            if (frm._KcbChandoanKetluan != null) _KcbChandoanKetluan = frm._KcbChandoanKetluan;
                            Laythongtinchidinhngoaitru();
                            Utility.GotoNewRowJanus(grdVTTH, KcbDonthuocChitiet.Columns.IdDonthuoc,
                                                    Utility.sDbnull(frm.txtPres_ID.Text));
                        }
                    }
                }
            }
            catch
            {
            }
            finally
            {
                ModifyCommmands();
            }
        }