Example #1
0
 public void showDashBoard(int mrd_id)
 {
     _mrd_id = mrd_id;
     using (InhCheckupDataContext cdc = new InhCheckupDataContext())
     {
         DateTime     dateNow = Program.GetServerDateTime();
         mst_room_dtl mrd     = cdc.mst_room_dtls.Where(x => x.mrd_id == mrd_id).FirstOrDefault();
         lbDesc.Text = "(" + mrd.mrd_room_no + ") " + mrd.mst_room_hdr.mst_hpc_site.mhs_ename + " : " + mrd.mrd_ename;
         log_user_login lug = cdc.log_user_logins.Where(x => x.mrd_id == mrd_id &&
                                                        x.lug_end_date == null &&
                                                        x.lug_start_date.Value.Date == dateNow.Date)
                              .OrderByDescending(x => x.lug_start_date).FirstOrDefault();
         if (lug != null)
         {
             lbDesc.BackColor    = Color.Green;
             lbDocName.BackColor = Color.RoyalBlue;
             mut_id = lug.mut_id;
         }
         else
         {
             lbDesc.BackColor    = Color.Gray;
             lbDocName.BackColor = Color.Gray;
             lbDocName.Text      = string.Empty;
             lbLogTime.Text      = "Log in time : --:--";
             lbLogTime.Click    -= new EventHandler(lbLogTime_Click);
             lbCompletePE.Text   = string.Empty;
             lbCompleteRE.Text   = string.Empty;
             lbWating.Text       = string.Empty;
             gridData.DataSource = new dataCls();
         }
     }
 }
Example #2
0
        private StatusTransaction getMessageUnitDisplay(int mhs_id, int mrd_id, int mvt_id, ref List <string> list_message)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    mst_room_dtl mrd = cdc.mst_room_dtls.Where(x => x.mrd_id == mrd_id).FirstOrDefault();

                    string        mvt_code  = cdc.mst_events.Where(x => x.mvt_id == mvt_id).Select(x => x.mvt_code).FirstOrDefault();
                    string        mrm_code  = cdc.mst_room_hdrs.Where(x => x.mrm_id == mrd.mrm_id).Select(x => x.mrm_code).FirstOrDefault();
                    List <string> list_zone = cdc.mst_room_screens
                                              .Where(x => x.mrm_code == mrm_code &&
                                                     x.mvt_code == mvt_code &&
                                                     x.mhs_id == mhs_id &&
                                                     x.mrs_status == 'A' &&
                                                     x.mrs_effective_date.Value.Date <= DateTime.Now.Date &&
                                                     ((x.mrs_expire_date == null) ? true : x.mrs_expire_date.Value.Date >= DateTime.Now.Date))
                                              .Select(x => x.mze_code).ToList();
                    foreach (string zone in list_zone)
                    {
                        list_message.Add("_" + mhs_id.ToString() + zone + "_" + mrd.mrd_room_no + "_");
                    }
                    return(StatusTransaction.True);
                }
            }
            catch (Exception ex)
            {
                Program.MessageError("ClsTCPClient", "getMessageUnitDisplay", ex, false);
                return(StatusTransaction.Error);
            }
        }
Example #3
0
        public static void ExitRoom()
        {
            if (Program.CurrentRoom != null && Program.CurrentUser != null && Class.ClsManageUserLogin.current_log != null)
            {
                InhCheckupDataContext dbc = new InhCheckupDataContext();
                //log_user_login currentloguserlogin = (from t1 in dbc.log_user_logins
                //                                      where t1.mrd_id == Program.CurrentRoom.mrd_id
                //                                       && t1.mut_id == Program.CurrentUser.mut_id
                //                                       && t1.lug_end_date == null
                //                                      select t1).FirstOrDefault();
                log_user_login currentloguserlogin = dbc.log_user_logins.Where(x => x.lug_id == Class.ClsManageUserLogin.current_log.lug_id).FirstOrDefault();
                if (currentloguserlogin != null)
                {
                    currentloguserlogin.lug_end_date = Program.GetServerDateTime();
                }
                mst_user_type CurrentUser = (from t1 in dbc.mst_user_types where t1.mut_id == Program.CurrentUser.mut_id select t1).FirstOrDefault();
                CurrentUser.mut_login_status = get_mutLoginStatus;
                dbc.SubmitChanges();
                Program.CurrentUser = CurrentUser;

                mst_room_dtl currentroom = (from t1 in dbc.mst_room_dtls where t1.mrd_id == Program.CurrentRoom.mrd_id select t1).FirstOrDefault();
                if (currentroom != null)
                {
                    currentroom.mrd_rm_status = 'E';
                    dbc.SubmitChanges();
                }
            }
            get_mutLoginStatus = '0';
            Class.ClsManageUserLogin.current_log = null;
            Program.CurrentRegis = null;
            Program.CurrentRoom  = null;
            GC.Collect();                  //คำสั่ง Clear Memory ที่เคยเรียก data base มาใช้งาน
            AlertOutDepartment.StopTime(); //ปิดการทำงานการเตือน Out Department
        }
Example #4
0
 private StatusTransaction isCheckPoint(int mrd_id)
 {
     try
     {
         if (mrd_id != 0)
         {
             using (InhCheckupDataContext cdc = new InhCheckupDataContext())
             {
                 mst_room_dtl mrd = cdc.mst_room_dtls.Where(x => x.mrd_id == mrd_id).FirstOrDefault();
                 if (mrd.mst_room_hdr.mrm_code == "CB" || mrd.mst_room_hdr.mrm_code == "CC")
                 {
                     return(StatusTransaction.True);
                 }
                 else
                 {
                     return(StatusTransaction.False);
                 }
             }
         }
         else
         {
             return(StatusTransaction.True);
         }
     }
     catch (Exception ex)
     {
         Program.MessageError("ClsTCPClient", "isCheckPoint", ex, false);
         return(StatusTransaction.Error);
     }
 }
Example #5
0
        private void frmLoginRoom_Load(object sender, EventArgs e)
        {
            //&& (t1.mrd_rm_status=='E' || (t1.mrd_rm_status!='E' && countRoomLogin.Contains(t1.mrd_id)))
            var objroomlist = (from t1 in dbc.mst_room_dtls
                               where t1.mst_room_hdr.mst_user_rooms.Where(x => x.mut_username == Program.CurrentUser.mut_username &&
                                                                          x.mst_room_hdr.mrm_code == GetmrmCode).Count() > 0 &&
                               t1.mst_room_hdr.mhs_id == Program.CurrentSite.mhs_id &&
                               t1.mrd_status == 'A'
                               orderby t1.mrd_dummy_room, t1.mrd_id
                               select new Roomselect {
                EName = (t1.mrd_room_no != null) ? " (" + t1.mrd_room_no + ") " + t1.mrd_ename : t1.mrd_ename, ID = t1.mrd_id
            }).ToList();
            var dumyroom = (from t1 in dbc.mst_room_dtls
                            where t1.mst_room_hdr.mrm_code == GetmrmCode &&
                            t1.mrd_dummy_room == 'Y' &&
                            t1.mrd_status == 'A'
                            select t1);

            if (dumyroom.Count() > 0 && objroomlist.Where(x => x.ID == dumyroom.FirstOrDefault().mrd_id).Count() == 0)
            {
                mst_room_dtl dmroom  = dumyroom.FirstOrDefault();
                Roomselect   newroom = new Roomselect();
                newroom.EName = dmroom.mrd_ename;
                newroom.ID    = dmroom.mrd_id;
                objroomlist.Add(newroom);
            }
            CBRoom.DataSource    = objroomlist;
            CBRoom.DisplayMember = "EName";
            CBRoom.ValueMember   = "ID";
        }
Example #6
0
 private bool CheckEyeDoctor(int tpr_id, int?mrd_id, bool eye_dropper, List <inx_sp_get_patient_roomResult> patientRoom, ref int?next_mrm_id, ref int?next_mvt_id)
 {
     try
     {
         if (mrd_id == null)
         {
             return(false);
         }
         else
         {
             using (InhCheckupDataContext cdc = new InhCheckupDataContext())
             {
                 mst_room_dtl roomDtl = cdc.mst_room_dtls.Where(x => x.mrd_id == mrd_id).FirstOrDefault();
                 if (roomDtl.mst_room_hdr.mrm_code == "EM")
                 {
                     if (roomDtl.mrd_type == 'D')
                     {
                         return(false);
                     }
                     else
                     {
                         sp_get_patient_roomResult patientRoomEye = patientRoom.Where(x => x.mvt_code == "EM").FirstOrDefault();
                         if (patientRoomEye == null)
                         {
                             return(false);
                         }
                         else
                         {
                             if (eye_dropper == true)
                             {
                                 return(false);
                             }
                             else
                             {
                                 next_mrm_id = patientRoomEye.mrm_id;
                                 next_mvt_id = patientRoomEye.mvt_id;
                                 return(true);
                             }
                         }
                     }
                 }
                 else
                 {
                     return(false);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         globalCls.MessageError("get_lab_result.Class.SendAutoCls", "CheckEyeDoctor(int mrm_id)", ex.Message);
         return(false);
     }
 }
Example #7
0
        private void RD_Type_Doctor_MouseClick(object sender, MouseEventArgs e)
        {
            mst_room_dtl currentdtl = (mst_room_dtl)mstroomdtlsBindingSource.Current;

            if (currentdtl != null)
            {
                var datach = Program.GetValueGroupBox(GBRoomType);
                if (datach != currentdtl.mrd_type)
                {
                    currentdtl.mrd_type = datach;
                }
            }
        }
Example #8
0
        private void chRoomActive_MouseClick(object sender, MouseEventArgs e)
        {
            mst_room_dtl currentdtl = (mst_room_dtl)mstroomdtlsBindingSource.Current;

            if (currentdtl != null)
            {
                var data = (chRoomActive.Checked == true) ? 'A' : 'I';
                if (data != currentdtl.mrd_status)
                {
                    currentdtl.mrd_status = data;
                }
            }
        }
Example #9
0
        private void btnNewRoomdtl_Click(object sender, EventArgs e)
        {
            mstroomdtlsBindingSource.AddNew();
            DateTime     dtnow      = Program.GetServerDateTime();
            mst_room_dtl currentdtl = (mst_room_dtl)mstroomdtlsBindingSource.Current;

            if (currentdtl != null)
            {
                string username = Program.CurrentUser.mut_username;
                currentdtl.mrd_create_by   = username;
                currentdtl.mrd_create_date = dtnow;
                currentdtl.mrd_update_by   = username;
                currentdtl.mrd_update_date = dtnow;
            }
        }
Example #10
0
        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    if (Program.CurrentRoom != null)
                    {
                        mst_room_dtl mrd = cdc.mst_room_dtls.Where(x => x.mrd_id == Program.CurrentRoom.mrd_id).FirstOrDefault();
                        if (mrd.mst_room_hdr.mrm_code == "CC" || mrd.mst_room_hdr.mrm_code == "CB")
                        {
                            return;
                        }
                    }
                }
            }
            catch
            {
            }

            if (e.RowIndex == -1)
            {
                return;
            }

            try
            {
                if (e.ColumnIndex > 6)
                {
                    DataGridView dgv  = (DataGridView)sender;
                    structFooter data = (structFooter)dgv.Rows[e.RowIndex].DataBoundItem;
                    var          val  = TypeDescriptor.GetProperties(data)[dgv.Columns[e.ColumnIndex].DataPropertyName].GetValue(data);
                    if (val != null)
                    {
                        if (val.ToString() == "ED" || val.ToString() == "LR")
                        {
                            showfrm(dgv.Columns[e.ColumnIndex].DataPropertyName, data.tprID, data.mhs_id);
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            GC.Collect();
        }
Example #11
0
        private void mstroomdtlsBindingSource_CurrentItemChanged1(object sender, EventArgs e)
        {
            mst_room_dtl currentdtl = (mst_room_dtl)mstroomdtlsBindingSource.Current;

            if (currentdtl != null)
            {
                //status
                if (currentdtl.mrd_status == 'A')
                {
                    chRoomActive.Checked = true;
                }
                else
                {
                    chRoomActive.Checked = false;
                }

                //Type
                Program.SetValueRadioGroupBox(GBRoomType, Convert1.ToString(currentdtl.mrd_type));
                //
            }
        }
Example #12
0
        public static Boolean Login(string strUsername, int siteID, int roomID)
        {
            InhCheckupDataContext dbc = new InhCheckupDataContext();

            try
            {
                if (Program.CurrentUser != null)
                {//ตรวจสอบ Type หมอ หรือ อื่น เข้าห้องเกินจำนวนที่กำหนดหรือไม่
                    int countRoomLogin = (from t1 in dbc.log_user_logins
                                          where t1.mrd_id == roomID &&
                                          t1.mut_id != CurrentUser.mut_id &&
                                          t1.lug_end_date == null
                                          select t1).Count();
                    mst_room_dtl Currentroomdtl  = (from t1 in dbc.mst_room_dtls where t1.mrd_id == roomID select t1).FirstOrDefault();
                    int          limitUserinRoom = 0;
                    if (Program.CurrentUser.mut_type == 'D')
                    {//เป็นหมอ
                        limitUserinRoom = Convert.ToInt32(Currentroomdtl.mst_room_hdr.mrm_count_doctor);
                    }
                    else
                    {//คนที่ไม่ใช่หมอ if (Program.CurrentUser.mut_type == 'O')
                        limitUserinRoom = Convert.ToInt32(Currentroomdtl.mst_room_hdr.mrm_count_person);
                        //if (Program.CurrentUser.mut_CanSendQueue==true)
                        //{// กรณีเป็น คนสามารถส่งQueue

                        //}
                    }

                    if (countRoomLogin + 1 > limitUserinRoom)
                    {
                        string msgalert = string.Format("ไม่สามารถ Login เข้า HPC Site :[{0}] Room :[{1}] นี้ได้เนื่องจากมีคนเข้ามาใช้เกินจากที่กำหนดไว้",
                                                        Currentroomdtl.mst_room_hdr.mst_hpc_site.mhs_ename,
                                                        Currentroomdtl.mrd_ename);
                        MessageBox.Show(msgalert, "Login Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        Program.CurrentRoom  = null;
                        Program.CurrentRegis = null;
                        return(false);
                    }



                    //if (getLoginStatus(Program.CurrentUser.mut_id) == '1')
                    //{
                    bool Asking = Class.ClsManageUserLogin.checkAskingLoginRoom(roomID);
                    if (Asking)
                    {
                        log_user_login lug      = getNotSignOut(Program.CurrentUser.mut_id).LastOrDefault();
                        string         msgalert = string.Format("Username : [{0}] มีการ Login อยู่ที่ HPC:{1} Room : {2} คุณต้องการ Logout หรือไม่",
                                                                Program.CurrentUser.mut_username,
                                                                getSiteEnameByMrdID(lug.mrd_id),
                                                                getRoomEnameByMrdID(lug.mrd_id));
                        if (MessageBox.Show(msgalert, "Login Alert", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            //// Logout จากห้องเดิม
                            //log_user_login currentloguserlogin = (from t1 in dbc.log_user_logins
                            //                                      where t1.mrd_id == roomID
                            //                                      && t1.mut_id == Program.CurrentUser.mut_id
                            //                                      && t1.lug_end_date == null
                            //                                      select t1).FirstOrDefault();
                            //if (currentloguserlogin != null)
                            //{
                            //    currentloguserlogin.lug_end_date = Program.GetServerDateTime();
                            //}
                            //mst_user_type CurrentUser = (from t1 in dbc.mst_user_types where t1.mut_id == Program.CurrentUser.mut_id select t1).FirstOrDefault();
                            //CurrentUser.mut_login_status = '0';
                            //dbc.SubmitChanges();
                            Class.ClsManageUserLogin.kickLoginOldRoom(Program.CurrentUser.mut_id, roomID);
                        }
                        else
                        {
                            Program.CurrentRoom  = null;
                            Program.CurrentRegis = null;
                            return(false);
                        }
                    }
                    //}

                    mst_room_dtl curRoom = (from t1 in dbc.mst_room_dtls where t1.mrd_id == roomID select t1).FirstOrDefault();
                    curRoom.mrd_rm_status = 'N';
                    dbc.SubmitChanges();
                    Program.CurrentRoom = curRoom;

                    log_user_login newlog = new log_user_login();
                    newlog.mut_id         = Program.CurrentUser.mut_id;
                    newlog.mrd_id         = Program.CurrentRoom.mrd_id;
                    newlog.mhs_id         = Program.CurrentSite.mhs_id;
                    newlog.lug_ip_address = Program.GetLocalIP();
                    newlog.lug_start_date = Program.GetServerDateTime();
                    dbc.log_user_logins.InsertOnSubmit(newlog);
                    dbc.SubmitChanges();
                    Class.ClsManageUserLogin.current_log = newlog;
                    Program.CurrentLogin = newlog;

                    mst_user_type CurrentUserlogin = (from t1 in dbc.mst_user_types where t1.mut_id == Program.CurrentUser.mut_id select t1).FirstOrDefault();
                    CurrentUserlogin.mut_login_status = '1';
                    dbc.SubmitChanges();

                    return(true);
                }
                else
                {
                    Program.CurrentRoom  = null;
                    Program.CurrentLogin = null;
                    MessageBox.Show("ไม่มี Username ที่ระบุไว้โปรดติดต่อเจ้าหน้าที่");
                    return(false);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error" + ex.Message, "Error Login", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Example #13
0
        private void previewBook(int tpb_id)
        {
            try
            {
                using (InhCheckupDataContext dbc = new InhCheckupDataContext())
                {
                    trn_patient_book tpb  = dbc.trn_patient_books.Where(x => x.tpb_id == tpb_id).FirstOrDefault();
                    string           path = @"\\" + tpb.tpb_server_path + @"\" + tpb.tpb_path_file + @"\" + tpb.tpb_file_name;
                    if (File.Exists(path))
                    {
                        try
                        {
                            Process.Start(path);
                        }
                        catch
                        {
                            lbAlert.Text = "Cannot Open File.";
                        }
                    }
                    else
                    {
                        lbAlert.Text = "File not Exists or Connect Server Error.";
                    }


                    if (tpb.tpb_print_by == null)
                    {
                        tpb.tpb_reprint = 0;
                    }
                    else
                    {
                        tpb.tpb_reprint++;
                    }

                    DateTime dateNow = Program.GetServerDateTime();
                    tpb.tpb_status      = "BP";
                    tpb.tpb_update_by   = Program.CurrentUser.mut_username;
                    tpb.tpb_update_date = dateNow;
                    tpb.tpb_print_by    = Program.CurrentUser.mut_username;
                    tpb.tpb_print_date  = dateNow;

                    trn_patient_regi tpr = tpb.trn_patient_regi;
                    tpr.tpr_print_book = "C";

                    EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();
                    mst_hpc_site      mhs         = mst.GetMstHpcSite(tpr.mhs_id);
                    mst_room_hdr      mrm_book    = mst.GetMstRoomHdr("BK", mhs.mhs_code);
                    mst_room_dtl      mrd_book    = dbc.mst_room_dtls.Where(x => x.mrm_id == mrm_book.mrm_id).FirstOrDefault();
                    mst_event         mvt_book    = mst.GetMstEvent("BK");
                    trn_patient_queue tps         = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm_book.mrm_id).FirstOrDefault();

                    if (tps == null)
                    {
                        tps = new trn_patient_queue();
                        tpr.trn_patient_queues.Add(tps);
                    }
                    tps.mrd_id          = mrd_book.mrd_id;
                    tps.mrm_id          = mrm_book.mrm_id;
                    tps.mvt_id          = mvt_book.mvt_id;
                    tps.tps_bm_seq      = null;
                    tps.tps_call_by     = Program.CurrentUser.mut_username;
                    tps.tps_call_date   = dateNow;
                    tps.tps_call_status = null;
                    tps.tps_end_date    = dateNow;
                    tps.tps_update_by   = Program.CurrentUser.mut_username;
                    tps.tps_update_date = dateNow;
                    tps.tps_ns_status   = null;
                    tps.tps_status      = "LR";

                    mst_room_hdr mrm_finish = mst.GetMstRoomHdr("FN", mhs.mhs_code);
                    mst_event    mvt_finish = mst.GetMstEvent("FN");
                    tpr.trn_patient_queues.Add(new trn_patient_queue
                    {
                        mrd_id          = null,
                        mrm_id          = mrm_finish.mrm_id,
                        mvt_id          = mvt_finish.mvt_id,
                        tps_bm_seq      = null,
                        tps_start_date  = dateNow,
                        tps_call_by     = Program.CurrentUser.mut_username,
                        tps_call_date   = dateNow,
                        tps_call_status = null,
                        tps_update_by   = Program.CurrentUser.mut_username,
                        tps_update_date = dateNow,
                        tps_ns_status   = "QL",
                        tps_status      = "NS"
                    });

                    dbc.SubmitChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Example #14
0
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    if (Program.CurrentRoom != null)
                    {
                        mst_room_dtl mrd = cdc.mst_room_dtls.Where(x => x.mrd_id == Program.CurrentRoom.mrd_id).FirstOrDefault();
                        if (mrd.mst_room_hdr.mrm_code == "CC" || mrd.mst_room_hdr.mrm_code == "CB")
                        {
                            return;
                        }
                    }
                }
            }
            catch
            {
            }

            if (e.RowIndex == -1)
            {
                return;
            }
            if (Program.FooterIsclick == false)
            {
                return;
            }
            try
            {
                if (BKvs2010.Program.CurrentRegis != null)
                {
                    return;
                }
                int    tprid  = Convert.ToInt32(dataGridView1["coltprid", e.RowIndex].Value);
                int    mhs_id = Convert1.ToInt32(dataGridView1["ColsiteID", e.RowIndex].Value);
                string colRC  = "";

                /* case 3:
                 *  case 5:
                 *  case 4: OnFooternameClick(tprid); break;*/
                switch (e.ColumnIndex)
                {
                case 7: colRC = "RG"; break;

                case 8: colRC = "BM"; break;

                case 9: colRC = "SC"; break;

                //  M Edit  เปิด comment  ไม่สามารถ เปิดจาก Book เขียว ได้ครับ
                //case 10: colRC = "CB"; break;
                ////case 11: colRC = "PE"; break; ไม่รันหน้าหมอ เปลี่ยนเป็น DC
                //case 11: colRC = "DC"; break;
                case 12: colRC = "CD"; break;

                //case 13: colRC = "XR"; break;
                //case 14: colRC = "US"; break;
                //case 15: colRC = "US"; break;
                //case 16: colRC = "US"; break;
                //case 17: colRC = "US"; break;

                //case 18: colRC = "DM"; break;
                //case 19: colRC = "BD"; break;
                case 20: colRC = "EM"; break;

                case 21: colRC = "EM"; break;

                case 22: colRC = "HS"; break;

                //case 23: colRC = "EK"; break;
                case 24: colRC = "AB"; break;

                //case 25: colRC = "ES"; break;
                case 26: colRC = "OB"; break;    //paptest

                case 27: colRC = "TE"; break;

                case 28: colRC = "TE"; break;

                //case 29: colRC = "UG"; break;
                case 30: colRC = "PF"; break;
                    //case 31: colRC = "CC"; break;
                    //case 32: colRC = "DC"; break;
                    //case 33: colRC = "PH"; break;
                    //case 34: colRC = "BK"; break;
                }
                if (colRC != "")
                {
                    if (!_isEditEMR)
                    {
                        if (CompareImages((Bitmap)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value, (Bitmap)imageList1.Images[2]) ||
                            CompareImages((Bitmap)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value, (Bitmap)imageList1.Images[3]))
                        {
                            Program.IsViewHistory = true;
                            //ตรวจสอบว่าอยู่หน้านั้นหรือไม่ ?
                            if (RoomCode != colRC)
                            {
                                showfrm(colRC, tprid, mhs_id);
                            }
                            else
                            {
                                //OnFooternameClick(tprid, mhs_id);
                            }
                        }
                    }
                    else
                    {
                        Program.IsViewHistory = true;
                        showfrm(colRC, tprid, mhs_id);
                    }
                }
                else
                { //  M  Add  16/10/2015 เพื่อเตือนว่าเปิด book เขียวห้องไหนได้บ้าง
                    if (e.ColumnIndex > 9)
                    {
                        //MessageBox.Show("สามารถใช้ได้งานได้ เฉพาะห้อง Registration, Vital Signs และ Screening ได้เท่านั้นขอบคุณค่ะ");
                    }
                }
            }
            catch (Exception)
            {
            }
            GC.Collect();
        }
Example #15
0
 private void dataGridView1_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         if (e.ColumnIndex >= 0 && e.RowIndex >= 0)
         {
             if (dataGridView1.Columns[e.ColumnIndex].Name == "Column1")
             {
                 using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                 {
                     string           tooltipName   = "Name : ";
                     string           tooltipDoctor = "Doctor Name : ";
                     string           tooltipSite   = "Current Site : ";
                     string           tooltipRoom   = "Current Room : ";
                     int              tpr_id        = Convert.ToInt32(dataGridView1["coltprid", e.RowIndex].Value);
                     trn_patient_regi patient_regis = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault();
                     if (patient_regis != null)
                     {
                         tooltipName += patient_regis.trn_patient.tpt_othername;
                         if (!string.IsNullOrEmpty(patient_regis.tpr_pe_doc_code))
                         {
                             mst_user_type user = new EmrClass.GetDataMasterCls().GetUser(patient_regis.tpr_pe_doc_code);
                             if (user != null)
                             {
                                 tooltipDoctor += user.mut_fullname;
                             }
                         }
                         trn_patient_queue tps = patient_regis.trn_patient_queues.Where(x => x.tps_status == "NS" || x.tps_status == "WK").FirstOrDefault();
                         if (tps != null)
                         {
                             mst_room_hdr mrm = new EmrClass.GetDataMasterCls().GetMstRoomHdr((int)tps.mrm_id);
                             if (mrm != null)
                             {
                                 mst_hpc_site mhs = new EmrClass.GetDataMasterCls().GetMstHpcSite(mrm.mhs_id);
                                 if (mhs != null)
                                 {
                                     tooltipSite += mhs.mhs_ename;
                                 }
                                 tooltipSite += ", " + mrm.mrm_ename;
                             }
                             if (tps.mrd_id != null)
                             {
                                 mst_room_dtl room_dtl = cdc.mst_room_dtls.Where(x => x.mrd_id == tps.mrd_id).FirstOrDefault();
                                 if (room_dtl != null)
                                 {
                                     tooltipRoom += room_dtl.mrd_ename;
                                 }
                             }
                         }
                     }
                     dataGridView1[e.ColumnIndex, e.RowIndex].ToolTipText = tooltipName + Environment.NewLine +
                                                                            tooltipDoctor + Environment.NewLine +
                                                                            tooltipSite + Environment.NewLine +
                                                                            tooltipRoom;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Program.MessageError("UIFooter", "dataGridView1_CellMouseMove", ex.Message, false);
     }
 }
Example #16
0
        private void showfrm(string pagecode, int tprID, int mhs_id)
        {
            Program.FooterIsclick = false;

            InhCheckupDataContext dbc        = new InhCheckupDataContext();
            mst_room_dtl          currentmrd = new mst_room_dtl();
            var currentRoomdtl = (from t1 in dbc.mst_room_dtls
                                  where t1.mst_room_hdr.mrm_code == pagecode
                                  select t1).FirstOrDefault();

            if (currentRoomdtl != null)
            {
                currentmrd = Program.CurrentRoom;
                //Program.CurrentRoom = null;
                Program.CurrentRoom = currentRoomdtl;
            }
            switch (pagecode)
            {
            case "RG":
                frmScreeningPage frmRG = new frmScreeningPage();
                frmRG.SetTprID    = tprID;
                frmRG.siteitem    = mhs_id;
                frmRG.WindowState = FormWindowState.Maximized;
                frmRG.ShowDialog();
                break;

            case "BM": frmBasicMeasurement frmBM = new frmBasicMeasurement();
                frmBM.SetTprID = tprID;
                frmBM.siteitem = mhs_id;
                frmBM.ShowDialog();
                break;

            case "AB":
                openForm("BKvs2010.Forms.ABIFrm", tprID);
                break;

            case "HS":
                openForm("BKvs2010.Forms.HearingFrm", tprID);
                break;

            case "EN":
            case "EM":
                openForm("BKvs2010.Forms.EyesFrm", tprID);
                break;

            case "SC": frmScreeningPage frmSC = new frmScreeningPage();
                frmSC.SetTprID = tprID; frmSC.siteitem = mhs_id;
                frmSC.ShowDialog();
                break;

            case "PT":
                frmObstetrics frmPT = new frmObstetrics();
                frmPT.SetTprID    = tprID; frmPT.siteitem = mhs_id;
                frmPT.WindowState = FormWindowState.Maximized;
                frmPT.ShowDialog();
                break;

            case "ES":
                openForm("BKvs2010.Forms.ESTFrm", tprID);
                break;

            case "EK":
                openForm("BKvs2010.Forms.EKGFrm", tprID);
                break;

            case "CD":
                frmCarotid_2 frmCD = new frmCarotid_2();
                frmCD.SetTprID = tprID;
                frmCD.siteitem = mhs_id;
                frmCD.ShowDialog(); break;

            case "TE":
                openForm("BKvs2010.Forms.DentalFrm", tprID);
                break;

            case "DM":
                openForm("BKvs2010.Forms.MammogramFrm", tprID);
                break;

            case "DC":
                frmPE_OutQueue frmPEOut = new frmPE_OutQueue();
                frmPEOut.SetTprID    = tprID;
                frmPEOut.WindowState = FormWindowState.Maximized;
                frmPEOut.ShowDialog();
                break;

            case "CC": frmCheckPointC frmCC = new frmCheckPointC(); frmCC.ShowDialog(); break;

            case "XR":
                openForm("BKvs2010.Forms.ChestXrayFrm", tprID);
                break;

            case "UG":
                openForm("BKvs2010.Forms.UGIFrm", tprID);
                break;

            case "PF":
                openForm("BKvs2010.Forms.PFTFrm", tprID);
                break;

            case "OB":
                frmObstetrics frmobg = new frmObstetrics();
                frmobg.SetTprID = tprID;
                frmobg.siteitem = mhs_id;
                frmobg.ShowDialog(); break;

            case "BD":
                openForm("BKvs2010.Forms.BMDFrm", tprID);
                break;

            case "PH":
                frmPHM frmPH = new frmPHM();
                frmPH.SetTprID = tprID;
                frmPH.siteitem = mhs_id;
                frmPH.ShowDialog();
                break;

            case "CB": frmCheckpointB2 frmCB = new frmCheckpointB2(); frmCB.ShowDialog(); break;

            case "US":
                openForm("BKvs2010.Forms.UltrasoundFrm", tprID);
                break;

            case "BK":
                break;
            }

            Program.CurrentRoom   = currentmrd;
            Program.FooterIsclick = true;
            GC.Collect();
        }
Example #17
0
        //private void showfrm(string pagecode, int tprID, int mhs_id)
        //{
        //    Program.FooterIsclick = false;

        //    InhCheckupDataContext dbc = new InhCheckupDataContext();
        //    mst_room_dtl currentmrd = new mst_room_dtl();
        //    var currentRoomdtl = (from t1 in dbc.mst_room_dtls
        //                          where t1.mst_room_hdr.mrm_code == pagecode
        //                          select t1).FirstOrDefault();
        //    if (currentRoomdtl != null)
        //    {
        //        currentmrd = Program.CurrentRoom;
        //        //Program.CurrentRoom = null;
        //        Program.CurrentRoom = currentRoomdtl;
        //    }
        //    switch (pagecode)
        //    {
        //        case "RG": frmScreeningPage frmRG = new frmScreeningPage();
        //            frmRG.SetTprID = tprID;
        //            frmRG.siteitem = mhs_id;
        //            frmRG.WindowState = FormWindowState.Maximized;
        //            frmRG.ShowDialog();
        //            break;
        //        case "BM": frmBasicMeasurement frmBM = new frmBasicMeasurement();
        //            frmBM.SetTprID = tprID;
        //            frmBM.siteitem = mhs_id;
        //            frmBM.ShowDialog();
        //            break;
        //        case "AB":
        //            //frmABI2 frmAB = new frmABI2();
        //            //frmAB.SetTprID = tprID;
        //            //frmAB.siteitem = mhs_id;
        //            //frmAB.ShowDialog();
        //            openForm("BKvs2010.Forms.ABIFrm", tprID);
        //            break;
        //        case "HS":
        //            //frmHearing frmHS = new frmHearing();
        //            //frmHS.SetTprID = tprID;
        //            //frmHS.siteitem = mhs_id;
        //            //frmHS.ShowDialog();
        //            openForm("BKvs2010.Forms.HearingFrm", tprID);
        //            break;
        //        case "EN":
        //        case "EM":
        //            //frmEye1 frmEM = new frmEye1();
        //            //frmEM.SetTprID = tprID;
        //            //frmEM.siteitem = mhs_id;
        //            //frmEM.ShowDialog();
        //            openForm("BKvs2010.Forms.EyesFrm", tprID);
        //            break;
        //        case "SC": frmScreeningPage frmSC = new frmScreeningPage();
        //            frmSC.SetTprID = tprID; frmSC.siteitem = mhs_id;
        //            frmSC.ShowDialog();
        //            break;
        //        case "PT": frmObstetrics frmPT = new frmObstetrics();
        //            frmPT.SetTprID = tprID; frmPT.siteitem = mhs_id;
        //            frmPT.WindowState = FormWindowState.Maximized;
        //            frmPT.ShowDialog();
        //            break;
        //        case "ES": frmEST frmES = new frmEST();
        //            frmES.SetTprID = tprID; frmES.siteitem = mhs_id;
        //            frmES.WindowState = FormWindowState.Maximized;
        //            frmES.ShowDialog();
        //            break;
        //        case "EK": frmEKG frmEK = new frmEKG();
        //            frmEK.SetTprID = tprID; frmEK.siteitem = mhs_id;
        //            frmEK.ShowDialog();
        //            break;
        //        case "CD": frmCarotid_2 frmCD = new frmCarotid_2();
        //            frmCD.SetTprID = tprID;
        //            frmCD.siteitem = mhs_id;
        //            frmCD.ShowDialog(); break;
        //        case "TE": frmTeeth frmTE = new frmTeeth();
        //            //frmTE.SetTprID = tprID; frmTE.siteitem = mhs_id;
        //            //frmTE.ShowDialog();
        //            openForm("BKvs2010.Forms.DentalFrm", tprID);
        //            break;
        //        case "DM": frmMammogramPage frmDM = new frmMammogramPage();
        //            frmDM.SetTprID = tprID; frmDM.siteitem = mhs_id;
        //            frmDM.WindowState = FormWindowState.Maximized;
        //            frmDM.ShowDialog();
        //            break;
        //        case "DC":
        //            //break;
        //            if (!_isEditEMR)
        //            {
        //                //frmPE frmPE = new frmPE();
        //                //frmPE.SetTprID = tprID;frmPE.siteitem = mhs_id;
        //                //frmPE.WindowState = FormWindowState.Maximized;
        //                //frmPE.ShowDialog();
        //                //break;
        //            }
        //            else
        //            {
        //                frmPE_OutQueue frmPEOut = new frmPE_OutQueue();
        //                frmPEOut.SetTprID = tprID;
        //                frmPEOut.WindowState = FormWindowState.Maximized;
        //                frmPEOut.ShowDialog();
        //            }
        //            break;
        //        case "CC": /*frmCheckPointC frmCC = new frmCheckPointC(); frmCC.ShowDialog();*/ break;
        //        case "XR": frmChestXRay frmXR = new frmChestXRay();
        //            frmXR.SetTprID = tprID; frmXR.siteitem = mhs_id;
        //            frmXR.WindowState = FormWindowState.Maximized;
        //            frmXR.ShowDialog();
        //            break;
        //        case "UG": frmUgiXRay frmUGI = new frmUgiXRay();
        //            frmUGI.SetTprID = tprID;
        //            frmUGI.siteitem = mhs_id;
        //            frmUGI.WindowState = FormWindowState.Maximized;
        //            frmUGI.ShowDialog();
        //            break;
        //        case "PF": frmPFT frmPFT = new frmPFT();
        //            frmPFT.SetTprID = tprID;
        //            frmPFT.siteitem = mhs_id;
        //            frmPFT.WindowState = FormWindowState.Maximized;
        //            frmPFT.ShowDialog();
        //            break;
        //        case "OB":
        //            frmObstetrics frmobg = new frmObstetrics();
        //            frmobg.SetTprID = tprID;
        //            frmobg.siteitem = mhs_id;
        //            frmobg.ShowDialog(); break;
        //        case "BD": frmBMD frmbd = new frmBMD();
        //            frmbd.SetTprID = tprID;
        //            frmbd.siteitem = mhs_id;
        //            frmbd.ShowDialog(); break;
        //        case "PH": frmPHM frmPH = new frmPHM();
        //            frmPH.SetTprID = tprID;
        //            frmPH.siteitem = mhs_id;
        //            frmPH.ShowDialog(); break;
        //        case "CB": /*frmCheckpointB2 frmCB = new frmCheckpointB2(); frmCB.ShowDialog();*/ break;
        //        case "US": frmUltrasound2 frmus = new frmUltrasound2();
        //            frmus.SetTprID = tprID;
        //            frmus.siteitem = mhs_id;
        //            frmus.ShowDialog(); break;
        //        case "BK": break;
        //    }

        //    Program.CurrentRoom = currentmrd;
        //    Program.FooterIsclick = true;
        //    GC.Collect();
        //}
        private void showfrm(string pagecode, int tprID, int mhs_id)
        {
            Program.FooterIsclick = false;

            InhCheckupDataContext dbc        = new InhCheckupDataContext();
            mst_room_dtl          currentmrd = new mst_room_dtl();
            var currentRoomdtl = (from t1 in dbc.mst_room_dtls
                                  where t1.mst_room_hdr.mrm_code == pagecode
                                  select t1).FirstOrDefault();
            var patientDetail = dbc.trn_patient_regis
                                .Where(x => x.tpr_id == tprID)
                                .Select(x => new
            {
                x.trn_patient.tpt_hn_no,
                x.trn_patient.tpt_othername
            }).FirstOrDefault();

            if (currentRoomdtl != null)
            {
                currentmrd = Program.CurrentRoom;
                //Program.CurrentRoom = null;
                Program.CurrentRoom = currentRoomdtl;
            }
            switch (pagecode)
            {
            case "RG": frmScreeningPage frmRG = new frmScreeningPage();
                frmRG.SetTprID    = tprID;
                frmRG.siteitem    = mhs_id;
                frmRG.WindowState = FormWindowState.Maximized;
                frmRG.ShowDialog();
                break;

            case "BM": frmBasicMeasurement frmBM = new frmBasicMeasurement();
                frmBM.SetTprID = tprID;
                frmBM.siteitem = mhs_id;
                frmBM.ShowDialog();
                break;

            case "AB":
                //openForm("BKvs2010.Forms.ABIFrm", tprID);
                using (DialogABI abi = new DialogABI())
                {
                    abi.Text   = abi.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    abi.tpr_id = tprID;
                    abi.ShowDialog();
                }
                break;

            case "HS":
                //openForm("BKvs2010.Forms.HearingFrm", tprID);
                using (DialogAudio audio = new DialogAudio())
                {
                    audio.Text   = audio.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    audio.tpr_id = tprID;
                    audio.ShowDialog();
                }
                break;

            case "EN":
            case "EM":
                //openForm("BKvs2010.Forms.EyesFrm", tprID);
                using (DialogEyes eyes = new DialogEyes())
                {
                    eyes.Text   = eyes.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    eyes.tpr_id = tprID;
                    eyes.ShowDialog();
                }
                break;

            case "SC": frmScreeningPage frmSC = new frmScreeningPage();
                frmSC.SetTprID = tprID; frmSC.siteitem = mhs_id;
                frmSC.ShowDialog();
                break;

            case "PT":
                //frmObstetrics frmPT = new frmObstetrics();
                //frmPT.SetTprID = tprID; frmPT.siteitem = mhs_id;
                //frmPT.WindowState = FormWindowState.Maximized;
                //frmPT.ShowDialog();
                //openForm("BKvs2010.Forms.GYNFrm", tprID);
                using (DialogPAP pap = new DialogPAP())
                {
                    pap.Text   = pap.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    pap.tpr_id = tprID;
                    pap.ShowDialog();
                }
                break;

            case "ES":
                //frmEST frmES = new frmEST();
                //frmES.SetTprID = tprID; frmES.siteitem = mhs_id;
                //frmES.WindowState = FormWindowState.Maximized;
                //frmES.ShowDialog();
                //openForm("BKvs2010.Forms.ESTFrm", tprID);
                break;

            case "EK":
                //frmEKG frmEK = new frmEKG();
                //frmEK.SetTprID = tprID; frmEK.siteitem = mhs_id;
                //frmEK.ShowDialog();'
                //openForm("BKvs2010.Forms.EKGFrm", tprID);
                break;

            case "CD":
                //frmCarotid_2 frmCD = new frmCarotid_2();
                //frmCD.SetTprID = tprID;
                //frmCD.siteitem = mhs_id;
                //frmCD.ShowDialog();
                using (DialogCarotid carotid = new DialogCarotid())
                {
                    carotid.Text   = carotid.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    carotid.tpr_id = tprID;
                    carotid.ShowDialog();
                }
                break;

            case "TE":
                //openForm("BKvs2010.Forms.DentalFrm", tprID);
                using (DialogDental dental = new DialogDental())
                {
                    dental.Text   = dental.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    dental.tpr_id = tprID;
                    dental.ShowDialog();
                }
                break;

            case "DM":
                //frmMammogramPage frmDM = new frmMammogramPage();
                //frmDM.SetTprID = tprID; frmDM.siteitem = mhs_id;
                //frmDM.WindowState = FormWindowState.Maximized;
                //frmDM.ShowDialog();
                //openForm("BKvs2010.Forms.MammogramFrm", tprID);
                break;

            case "DC":
                ////break;
                //if (!_isEditEMR)
                //{
                //    //frmPE frmPE = new frmPE();
                //    //frmPE.SetTprID = tprID;frmPE.siteitem = mhs_id;
                //    //frmPE.WindowState = FormWindowState.Maximized;
                //    //frmPE.ShowDialog();
                //    //break;
                //}
                //else
                //{
                //    frmPE_OutQueue frmPEOut = new frmPE_OutQueue();
                //    frmPEOut.SetTprID = tprID;
                //    frmPEOut.WindowState = FormWindowState.Maximized;
                //    frmPEOut.ShowDialog();
                //}
                break;

            case "XR":
                //openForm("BKvs2010.Forms.ChestXrayFrm", tprID);
                //frmChestXRay frmXR = new frmChestXRay();
                //frmXR.SetTprID = tprID; frmXR.siteitem = mhs_id;
                //frmXR.WindowState = FormWindowState.Maximized;
                //frmXR.ShowDialog();
                break;

            case "UG":
                //openForm("BKvs2010.Forms.UGIFrm", tprID);
                //frmUgiXRay frmUGI = new frmUgiXRay();
                //frmUGI.SetTprID = tprID;
                //frmUGI.siteitem = mhs_id;
                //frmUGI.WindowState = FormWindowState.Maximized;
                //frmUGI.ShowDialog();
                break;

            case "PF":
                //openForm("BKvs2010.Forms.PFTFrm", tprID);
                //frmPFT frmPFT = new frmPFT();
                //frmPFT.SetTprID = tprID;
                //frmPFT.siteitem = mhs_id;
                //frmPFT.WindowState = FormWindowState.Maximized;
                //frmPFT.ShowDialog();
                using (DialogPFT pft = new DialogPFT())
                {
                    pft.Text   = pft.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    pft.tpr_id = tprID;
                    pft.ShowDialog();
                }
                break;

            case "OB":
                //frmObstetrics frmobg = new frmObstetrics();
                //frmobg.SetTprID = tprID;
                //frmobg.siteitem = mhs_id;
                //frmobg.ShowDialog();
                using (DialogPAP pap = new DialogPAP())
                {
                    pap.Text   = pap.Text + " HN : " + patientDetail.tpt_hn_no + " Name : " + patientDetail.tpt_othername;
                    pap.tpr_id = tprID;
                    pap.ShowDialog();
                }
                break;

            case "BD":
                //openForm("BKvs2010.Forms.BMDFrm", tprID);
                //frmBMD frmbd = new frmBMD();
                //frmbd.SetTprID = tprID;
                //frmbd.siteitem = mhs_id;
                //frmbd.ShowDialog();
                break;

            case "PH":
            //frmPHM frmPH = new frmPHM();
            //frmPH.SetTprID = tprID;
            //frmPH.siteitem = mhs_id;
            //frmPH.ShowDialog();
            //break;
            case "US":
                //openForm("BKvs2010.Forms.UltrasoundFrm", tprID);
                //frmUltrasound2 frmus = new frmUltrasound2();
                //frmus.SetTprID = tprID;
                //frmus.siteitem = mhs_id;
                //frmus.ShowDialog();
                break;

            case "BK":
            case "CB":
            case "CC":
                break;
            }

            Program.CurrentRoom   = currentmrd;
            Program.FooterIsclick = true;
            GC.Collect();
        }
Example #18
0
        public SendAutoResult SendAuto(int tps_id, List <int> ListCompleteEvent, string username, int?current_site)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    cdc.Connection.Open();
                    DbTransaction trans = cdc.Connection.BeginTransaction();
                    cdc.Transaction = trans;

                    try
                    {
                        trn_patient_queue PatientQueue = cdc.trn_patient_queues
                                                         .Where(x => x.tps_id == tps_id)
                                                         .FirstOrDefault();

                        trn_patient_regi PatientRegis = PatientQueue.trn_patient_regi;

                        int    tpr_id        = PatientRegis.tpr_id;
                        string queue_no      = PatientRegis.tpr_queue_no;
                        int    mrm_id        = (int)PatientQueue.mrm_id;
                        int?   mrd_id        = PatientQueue.mrd_id;
                        int?   mhs_id        = PatientRegis.tpr_site_use == null ? PatientRegis.mhs_id : PatientRegis.tpr_site_use;
                        int    _current_site = current_site != null ? (int)current_site : PatientQueue.mst_room_hdr.mhs_id;

                        List <int> room_event = new List <int>();

                        mst_room_hdr roomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_id == mrm_id).FirstOrDefault();
                        if (PatientQueue.mrd_id != null)
                        {
                            mst_room_dtl roomDtl = roomHdr.mst_room_dtls.Where(x => x.mrd_id == PatientQueue.mrd_id).FirstOrDefault();
                            if (roomDtl != null)
                            {
                                if (roomDtl.mst_room_hdr.mrm_code == "EM")
                                {
                                    if (roomDtl.mrd_type == 'D')
                                    {
                                        mst_event mstEvent = cdc.mst_events.Where(x => x.mvt_code == "EM" && x.mvt_status == 'A').FirstOrDefault();
                                        room_event.Add(mstEvent.mvt_id);
                                    }
                                    else
                                    {
                                        mst_event mstEvent = cdc.mst_events.Where(x => x.mvt_code == "EN" && x.mvt_status == 'A').FirstOrDefault();
                                        room_event.Add(mstEvent.mvt_id);
                                    }
                                }
                                else
                                {
                                    room_event = cdc.mst_room_events
                                                 .Where(x => x.mrm_id == mrm_id)
                                                 .Select(x => x.mvt_id).ToList();
                                }
                            }
                        }
                        else
                        {
                            room_event = cdc.mst_room_events
                                         .Where(x => x.mrm_id == mrm_id)
                                         .Select(x => x.mvt_id).ToList();
                        }

                        DateTime dateNow = globalCls.GetServerDateTime();
                        int?     mze_id  = null;
                        if (roomHdr.mrm_code != "CB")
                        {
                            mze_id = roomHdr.mze_id;
                        }

                        int?next_mrm_id = null;
                        int?next_mvt_id = null;

                        List <sp_get_patient_roomResult> patientRoom          = cdc.sp_get_patient_room(tpr_id, mhs_id).ToList();
                        List <sp_get_patient_roomResult> patientEventComplete = patientRoom.Where(x => ListCompleteEvent.Contains(x.mvt_id)).ToList();
                        foreach (sp_get_patient_roomResult pr in patientEventComplete)
                        {
                            patientRoom.Remove(pr);
                        }
                        List <inx_sp_get_patient_roomResult> inxPatientRoom = new List <inx_sp_get_patient_roomResult>();
                        ResultSendQueue result = filterPatientRoom(patientRoom, ref inxPatientRoom, room_event, _current_site, mze_id, 0);

                        if (result == ResultSendQueue.Error)
                        {
                            return(new SendAutoResult {
                                SendResult = SendAutoResult.Result.Error, AlertMsg = "Please Try Again."
                            });
                        }
                        else if (result == ResultSendQueue.OldRoom)
                        {
                            return(new SendAutoResult {
                                SendResult = SendAutoResult.Result.Error, AlertMsg = "Please Try Again."
                            });
                        }
                        else
                        {
                            SendAutoResult _SendAutoResult = new SendAutoResult();
                            new TransactionPlanCls().EndPlan(ref PatientRegis, ListCompleteEvent);
                            new TransactionQueueCls().EndQueue(ref PatientRegis, tps_id, dateNow, username);
                            if (result == ResultSendQueue.SendCheckC)
                            {
                                new TransactionQueueCls().SendToCheckC(ref PatientRegis, dateNow, username);
                                //new Class.GetLabResultCls().Insert_trn_patient_assBackground(tpr_id);
                                new Class.InsertLabCls().RetrieveLabToEmrCheckup(tpr_id, username);
                                new Class.GetVitalSignCLs().GetVistalSignBackground(tpr_id);
                                var roomChkC = cdc.mst_room_hdrs
                                               .Where(x => x.mrm_code == "CC" && x.mhs_id == PatientRegis.mhs_id)
                                               .Select(x => new
                                {
                                    x.mrm_ename,
                                    x.mst_hpc_site.mhs_ename,
                                    x.mst_zone.mze_ename
                                }).FirstOrDefault();
                                if (roomChkC == null)
                                {
                                    _SendAutoResult.AlertMsg = "Send Queue no. " + queue_no + " To Check Point C.";
                                }
                                else
                                {
                                    _SendAutoResult.AlertMsg = string.Format(TemplateMsg, roomChkC.mrm_ename, roomChkC.mhs_ename, roomChkC.mze_ename, queue_no);
                                }
                            }
                            else if (result == ResultSendQueue.SendCheckB)
                            {
                                new TransactionQueueCls().SendToCheckB(ref PatientRegis, dateNow, username);
                                var chkB = PatientRegis.trn_patient_queues
                                           .Where(x => x.tps_status == "NS" && x.tps_ns_status == "QL")
                                           .Select(x => new
                                {
                                    x.mrm_id,
                                }).FirstOrDefault();
                                var room = cdc.mst_room_hdrs.Where(x => x.mrm_id == mrm_id).FirstOrDefault();
                                _SendAutoResult.AlertMsg = string.Format(TemplateMsg, room.mrm_ename, room.mst_hpc_site.mhs_ename, room.mst_zone.mze_ename, queue_no);
                            }
                            else
                            {
                                bool patient_eye_dropper = PatientRegis.trn_eye_exam_hdrs.Count() != 0 ?
                                                           (PatientRegis.trn_eye_exam_hdrs.FirstOrDefault().teh_eyedropper == null ?
                                                            false :
                                                            (bool)PatientRegis.trn_eye_exam_hdrs.FirstOrDefault().teh_eyedropper) :
                                                           false;

                                bool checkEyeDoc = CheckEyeDoctor(tpr_id, mrd_id, patient_eye_dropper, inxPatientRoom, ref next_mrm_id, ref next_mvt_id);
                                if (checkEyeDoc && next_mrm_id != null && next_mvt_id != null)
                                {
                                    new TransactionQueueCls().SendToRoom(ref PatientRegis, (int)next_mrm_id, (int)next_mvt_id, dateNow, username);
                                    var nextRoom = inxPatientRoom.Where(x => x.mrm_id == next_mrm_id && x.mvt_id == next_mvt_id)
                                                   .Select(x => new
                                    {
                                        x.mrm_ename,
                                        x.mhs_ename,
                                        x.mze_ename
                                    }).FirstOrDefault();
                                    _SendAutoResult.AlertMsg = string.Format(TemplateMsg, nextRoom.mrm_ename, nextRoom.mhs_ename, nextRoom.mze_ename, queue_no);
                                }
                                else
                                {
                                    string doctor_code = (PatientRegis.tpr_req_doc_code == null || PatientRegis.tpr_req_doc_code == "") ? PatientRegis.tpr_pe_doc_code : PatientRegis.tpr_req_doc_code;
                                    bool   checkPE     = CheckPE(tpr_id, doctor_code, inxPatientRoom, dateNow, ref next_mrm_id, ref next_mvt_id);
                                    if (checkPE)
                                    {
                                        new TransactionQueueCls().SendToRoom(ref PatientRegis, (int)next_mrm_id, (int)next_mvt_id, dateNow, username);
                                        var nextRoom = inxPatientRoom.Where(x => x.mrm_id == next_mrm_id && x.mvt_id == next_mvt_id)
                                                       .Select(x => new
                                        {
                                            x.mrm_ename,
                                            x.mhs_ename,
                                            x.mze_ename
                                        }).FirstOrDefault();
                                        _SendAutoResult.AlertMsg = string.Format(TemplateMsg, nextRoom.mrm_ename, nextRoom.mhs_ename, nextRoom.mze_ename, queue_no);
                                    }
                                    else
                                    {
                                        inx_sp_get_patient_roomResult firstPatientRoom = inxPatientRoom.OrderBy(x => x.priority).FirstOrDefault();
                                        next_mrm_id = firstPatientRoom.mrm_id;
                                        next_mvt_id = firstPatientRoom.mvt_id;
                                        new TransactionQueueCls().SendToRoom(ref PatientRegis, (int)next_mrm_id, (int)next_mvt_id, dateNow, username);
                                        _SendAutoResult.AlertMsg = string.Format(TemplateMsg, firstPatientRoom.mrm_ename, firstPatientRoom.mhs_ename, firstPatientRoom.mze_ename, queue_no);
                                    }
                                }
                            }
                            cdc.SubmitChanges();
                            if (inxPatientRoom.Count() > 0)
                            {
                                trn_patient_queue next_queue = PatientRegis.trn_patient_queues
                                                               .Where(x => (x.tps_status == "NS" && x.tps_ns_status == "QL") ||
                                                                      (x.tps_status == "NS" && x.tps_ns_status == "WP")).FirstOrDefault();
                                if (next_queue != null)
                                {
                                    List <log_send_auto> log = GetLogSendAuto(inxPatientRoom, next_queue.tps_id, tps_id, queue_no);
                                    cdc.log_send_autos.InsertAllOnSubmit(log);
                                }
                            }
                            cdc.SubmitChanges();
                            cdc.Transaction.Commit();
                            return(_SendAutoResult);
                        }
                    }
                    catch (Exception ex)
                    {
                        globalCls.MessageError("get_lab_result.Class.SendAutoCls", "SendAuto(int tpr_id)", ex.Message);
                        return(new SendAutoResult {
                            SendResult = SendAutoResult.Result.Error, AlertMsg = "Please Try Again."
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                globalCls.MessageError("get_lab_result.Class.SendAutoCls", "SendAuto(int tpr_id)", ex.Message);
                return(new SendAutoResult {
                    SendResult = SendAutoResult.Result.Error, AlertMsg = "Please Try Again."
                });
            }
        }