Exemple #1
0
 private ResultSendQueue CheckEventCate(ref List <sp_get_patient_roomResult> patientRoom)
 {
     try
     {
         using (InhCheckupDataContext cdc = new InhCheckupDataContext())
         {
             mst_event eventDoctor = cdc.mst_events.Where(x => x.mvt_code == "EM" && x.mvt_status == 'A').FirstOrDefault();
             mst_event eventNurse  = cdc.mst_events.Where(x => x.mvt_code == "EN" && x.mvt_status == 'A').FirstOrDefault();
             if (eventDoctor != null && eventNurse != null)
             {
                 foreach (sp_get_patient_roomResult re in patientRoom)
                 {
                     if (re.mvt_id == eventDoctor.mvt_id)
                     {
                         if (patientRoom.Any(x => x.mvt_id == eventNurse.mvt_id))
                         {
                             re.mvt_type_cate = "S";
                         }
                         else
                         {
                             re.mvt_type_cate = "M";
                         }
                     }
                 }
             }
             return(ResultSendQueue.SendComplete);
         }
     }
     catch (Exception ex)
     {
         globalCls.MessageError("get_lab_result.Class.SendAutoCls", "CheckEventCate(ref List<sp_get_patient_roomResult> patientRoom)", ex.Message);
         return(ResultSendQueue.Error);
     }
 }
Exemple #2
0
        public void updatePendingPatientPlan(ref trn_patient_regi tpr, string mvt_code, int mrm_id, int mhs_id)
        {
            EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();
            mst_event mvt = mst.GetMstEvent(mvt_code);

            updatePendingPatientPlan(ref tpr, mrm_id, mvt.mvt_id, mhs_id);
        }
Exemple #3
0
        private void btnEventAddNew_Click(object sender, EventArgs e)
        {
            EventbindingSource1.AddNew();
            mst_event newitem  = (mst_event)EventbindingSource1.Current;
            string    createBy = Program.CurrentUser.mut_username;
            DateTime  dtnow    = Program.GetServerDateTime();

            newitem.mvt_create_by   = createBy;
            newitem.mvt_create_date = dtnow;
            newitem.mvt_update_by   = createBy;
            newitem.mvt_update_date = dtnow;
        }
Exemple #4
0
        private void chEventActive_MouseClick(object sender, MouseEventArgs e)
        {
            mst_event currentevent = (mst_event)EventbindingSource1.Current;

            if (currentevent != null)
            {
                var data = (chEventActive.Checked == true) ? 'A' : 'I';
                if (data != currentevent.mvt_status)
                {
                    currentevent.mvt_status = data;
                }
            }
        }
Exemple #5
0
        private void RDEvent_Type_Main_MouseClick(object sender, MouseEventArgs e)
        {
            mst_event currentevent = (mst_event)EventbindingSource1.Current;

            if (currentevent != null)
            {
                var data = Program.GetValueRadioTochar(pnlMainSub);
                if (data != currentevent.mvt_type_cate)
                {
                    currentevent.mvt_type_cate = data;
                }
            }
        }
Exemple #6
0
        public StatusTransaction SendToBasic(ref trn_patient_regi tpr, ref string messegeSend)
        {
            try
            {
                DateTime dateNow = Program.GetServerDateTime();
                EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();

                int mvt_regis = mst.GetMstEvent("RG").mvt_id;

                trn_patient_queue objQueueRegis = new trn_patient_queue();
                objQueueRegis.mrm_id          = Program.CurrentRoom.mrm_id;
                objQueueRegis.mvt_id          = mvt_regis;
                objQueueRegis.mrd_id          = Program.CurrentRoom.mrd_id;
                objQueueRegis.tps_start_date  = dateNow;
                objQueueRegis.tps_end_date    = dateNow;
                objQueueRegis.tps_send_by     = Program.CurrentUser.mut_username;
                objQueueRegis.tps_status      = "ED";
                objQueueRegis.tps_ns_status   = null;
                objQueueRegis.tps_create_date = dateNow;
                objQueueRegis.tps_create_by   = Program.CurrentUser.mut_username;
                objQueueRegis.tps_update_by   = objQueueRegis.tps_create_by;
                objQueueRegis.tps_update_date = dateNow;
                tpr.trn_patient_queues.Add(objQueueRegis);

                mst_room_hdr mrm = mst.GetMstRoomHdr("BM", Program.CurrentSite.mhs_code);
                mst_hpc_site mhs = mst.GetMstHpcSite(Program.CurrentSite.mhs_code);
                mst_zone     mze = mst.GetMstZone((int)mrm.mze_id);
                mst_event    mvt = mst.GetMstEvent("BM");

                trn_patient_queue objQueueBasic = new trn_patient_queue();
                objQueueBasic.mrm_id          = mrm.mrm_id;
                objQueueBasic.mvt_id          = mvt.mvt_id;
                objQueueBasic.mrd_id          = null;
                objQueueBasic.tps_status      = "NS";
                objQueueBasic.tps_ns_status   = "WL";
                objQueueBasic.tps_create_by   = Program.CurrentUser.mut_username;
                objQueueBasic.tps_create_date = dateNow;
                objQueueBasic.tps_update_by   = Program.CurrentUser.mut_username;
                objQueueBasic.tps_update_date = dateNow;
                tpr.trn_patient_queues.Add(objQueueBasic);

                messegeSend = string.Format(Program.MsgSend, mrm.mrm_ename, mze.mze_ename, mhs.mhs_ename, tpr.tpr_queue_no);
                return(StatusTransaction.True);
            }
            catch (Exception ex)
            {
                Program.MessageError("TransactionQueueCls", "SendToBasic", ex, false);
                return(StatusTransaction.Error);
            }
        }
Exemple #7
0
 public mst_event GetMstEvent(string mvt_code)
 {
     try
     {
         using (InhCheckupDataContext cdc = new InhCheckupDataContext())
         {
             mst_event mvt = cdc.mst_events.Where(x => x.mvt_code == mvt_code).FirstOrDefault();
             return(mvt);
         }
     }
     catch
     {
     }
     return(null);
 }
Exemple #8
0
        private void EventbindingSource1_CurrentItemChanged(object sender, EventArgs e)
        {
            mst_event newitem = (mst_event)EventbindingSource1.Current;

            if (newitem != null)
            {
                if (newitem.mvt_status == 'A')
                {
                    chEventActive.Checked = true;
                }
                else
                {
                    chEventActive.Checked = false;
                }

                Program.SetValueRadioGroup(pnlMainSub, newitem.mvt_type_cate);
            }
        }
Exemple #9
0
 public StatusTransaction SendToPE(ref trn_patient_regi tpr, ref string messegeSend)
 {
     try
     {
         DateTime dateNow = Program.GetServerDateTime();
         EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();
         mst_room_hdr mrm = mst.GetMstRoomHdr("DC", Program.CurrentSite.mhs_code);
         mst_hpc_site mhs = mst.GetMstHpcSite(mrm.mhs_id);
         mst_zone     mze = mst.GetMstZone((int)mrm.mze_id);
         mst_event    mvt = mst.GetMstEvent("PE");
         return(SendToRoom(ref tpr, ref messegeSend, mrm.mrm_id, mvt.mvt_id));
     }
     catch (Exception ex)
     {
         Program.MessageError("TransactionQueueCls", "SendToPE", ex, false);
         return(StatusTransaction.Error);
     }
 }
Exemple #10
0
        public void SendToCheckC(ref trn_patient_regi PatientRegis, DateTime dateNow, string username, bool andSendBook = false)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    int          mhs_id     = (PatientRegis.tpr_site_use == null || PatientRegis.tpr_site_use == 0) ? (int)PatientRegis.mhs_id : (int)PatientRegis.tpr_site_use;
                    mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "CC" && x.mhs_id == mhs_id).FirstOrDefault();
                    mst_event    mstEvent   = cdc.mst_events
                                              .Where(x => x.mvt_code == "CC")
                                              .FirstOrDefault();
                    trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues.Where(x => x.mrm_id == mstRoomHdr.mrm_id && x.mvt_id == mstEvent.mvt_id).FirstOrDefault();

                    if (PatientQueue == null)
                    {
                        PatientQueue                 = new trn_patient_queue();
                        PatientQueue.mrm_id          = mstRoomHdr.mrm_id;
                        PatientQueue.mvt_id          = mstEvent.mvt_id;
                        PatientQueue.tps_create_by   = username;
                        PatientQueue.tps_create_date = dateNow;
                        PatientRegis.trn_patient_queues.Add(PatientQueue);
                    }
                    PatientQueue.mrd_id         = null;
                    PatientQueue.tps_end_date   = null;
                    PatientQueue.tps_start_date = null;
                    if (andSendBook)
                    {
                        PatientQueue.tps_status = "ED";
                    }
                    else
                    {
                        PatientQueue.tps_status = "WK";
                    }
                    PatientQueue.tps_ns_status   = null;
                    PatientQueue.tps_update_by   = username;
                    PatientQueue.tps_update_date = dateNow;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #11
0
 private bool checkPE(int?mvt_id)
 {
     using (InhCheckupDataContext contxt = new InhCheckupDataContext())
     {
         mst_event mstEvent = contxt.mst_events.Where(x => x.mvt_id == this.queue_mvt_id).FirstOrDefault();
         if (mstEvent != null)
         {
             if (mstEvent.mvt_code == "PE")
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         else
         {
             return(false);
         }
     }
 }
Exemple #12
0
 public bool CheckUseBeforePE(int mrm_id, int mvt_id)
 {
     try
     {
         using (InhCheckupDataContext cdc = new InhCheckupDataContext())
         {
             mst_event mstEvent = cdc.mst_events.Where(x => x.mvt_id == mvt_id).FirstOrDefault();
             if (mstEvent.mvt_code != "PE")
             {
                 return(false);
             }
             else
             {
                 mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_id == mrm_id).FirstOrDefault();
                 if (mstRoomHdr.mrm_code != "DC")
                 {
                     return(false);
                 }
                 else
                 {
                     if (mstRoomHdr.mst_hpc_site.mhs_use_before_pe == null || mstRoomHdr.mst_hpc_site.mhs_use_before_pe == false)
                     {
                         return(false);
                     }
                     else
                     {
                         return(true);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Program.MessageError("TransactionQueueCls", "CheckUseBeforePE(int mrm_id, int mvt_id)", ex, false);
         return(false);
     }
 }
Exemple #13
0
        public void SendToCheckB(ref trn_patient_regi PatientRegis, DateTime dateNow, string username)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    int mhs_id = (PatientRegis.tpr_site_use == null || PatientRegis.tpr_site_use == 0) ? (int)PatientRegis.mhs_id : (int)PatientRegis.tpr_site_use;

                    mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "CB" && x.mhs_id == mhs_id).FirstOrDefault();
                    mst_event    mstEvent   = cdc.mst_events
                                              .Where(x => x.mvt_code == "CB")
                                              .FirstOrDefault();
                    trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues
                                                     .Where(x => x.mst_room_hdr.mrm_code == "CB" && x.mvt_id == mstEvent.mvt_id)
                                                     .FirstOrDefault();
                    if (PatientQueue != null)
                    {
                        PatientRegis.tpr_pe_status   = "RB";
                        PatientQueue.mrm_id          = mstRoomHdr.mrm_id;
                        PatientQueue.tps_status      = "NS";
                        PatientQueue.tps_ns_status   = "QL";
                        PatientQueue.mrd_id          = null;
                        PatientQueue.tps_end_date    = null;
                        PatientQueue.tps_start_date  = null;
                        PatientQueue.tps_update_by   = username;
                        PatientQueue.tps_update_date = dateNow;
                    }
                    else
                    {
                        SendToRoom(ref PatientRegis, mstRoomHdr.mrm_id, mstEvent.mvt_id, dateNow, username);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #14
0
        public void SendToPE(ref trn_patient_regi PatientRegis, DateTime dateNow, string username)  // use for PE Before Check B
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    int mhs_id = (PatientRegis.tpr_site_use == null || PatientRegis.tpr_site_use == 0) ? (int)PatientRegis.mhs_id : (int)PatientRegis.tpr_site_use;

                    mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "DC" && x.mhs_id == mhs_id).FirstOrDefault();
                    mst_event    mstEvent   = cdc.mst_events
                                              .Where(x => x.mvt_code == "PE")
                                              .FirstOrDefault();
                    trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues
                                                     .Where(x => x.mrm_id == mstRoomHdr.mrm_id && x.mvt_id == mstEvent.mvt_id)
                                                     .FirstOrDefault();
                    SendToRoom(ref PatientRegis, mstRoomHdr.mrm_id, mstEvent.mvt_id, dateNow, username);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #15
0
        public void SendToScreening(ref trn_patient_regi PatientRegis, DateTime dateNow, string username)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    int          mhs_id     = PatientRegis.mhs_id;
                    mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "SC" && x.mhs_id == mhs_id).FirstOrDefault();
                    mst_event    mstEvent   = cdc.mst_events
                                              .Where(x => x.mvt_code == "SC")
                                              .FirstOrDefault();

                    trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues.Where(x => x.mrm_id == mstRoomHdr.mrm_id && x.mvt_id == mstEvent.mvt_id).FirstOrDefault();

                    if (PatientQueue == null)
                    {
                        PatientQueue                 = new trn_patient_queue();
                        PatientQueue.mrm_id          = mstRoomHdr.mrm_id;
                        PatientQueue.mvt_id          = mstEvent.mvt_id;
                        PatientQueue.tps_create_by   = username;
                        PatientQueue.tps_create_date = dateNow;
                        PatientRegis.trn_patient_queues.Add(PatientQueue);
                    }
                    PatientQueue.mrd_id          = null;
                    PatientQueue.tps_end_date    = null;
                    PatientQueue.tps_start_date  = null;
                    PatientQueue.tps_status      = "NS";
                    PatientQueue.tps_ns_status   = "QL";
                    PatientQueue.tps_update_by   = username;
                    PatientQueue.tps_update_date = dateNow;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #16
0
 public StatusTransaction SendToCheckCBeforePE(ref trn_patient_regi tpr, ref string messegeSend)
 {
     try
     {
         DateTime dateNow = Program.GetServerDateTime();
         EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();
         mst_room_hdr      mrm         = mst.GetMstRoomHdr("DC", Program.CurrentSite.mhs_code);
         mst_hpc_site      mhs         = mst.GetMstHpcSite(mrm.mhs_id);
         mst_zone          mze         = mst.GetMstZone((int)mrm.mze_id);
         mst_event         mvt         = mst.GetMstEvent("PE");
         trn_patient_queue tps         = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm.mrm_id && x.mvt_id == mvt.mvt_id).FirstOrDefault();
         if (tps == null)
         {
             tps = new trn_patient_queue();
             tps.tps_create_by   = Program.CurrentUser.mut_username;
             tps.tps_create_date = dateNow;
             tpr.trn_patient_queues.Add(tps);
         }
         tps.mrm_id          = mrm.mrm_id;
         tps.mvt_id          = mvt.mvt_id;
         tps.mrd_id          = null;
         tps.tps_end_date    = null;
         tps.tps_start_date  = null;
         tps.tps_status      = "NS";
         tps.tps_ns_status   = "WP";
         tps.tps_update_by   = Program.CurrentUser.mut_username;
         tps.tps_update_date = dateNow;
         messegeSend         = string.Format(Program.MsgSend, mrm.mrm_ename, mze.mze_ename, mhs.mhs_ename, tpr.tpr_queue_no);
         return(StatusTransaction.True);
     }
     catch (Exception ex)
     {
         Program.MessageError("TransactionQueueCls", "SendToPE", ex, false);
         return(StatusTransaction.Error);
     }
 }
Exemple #17
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."
                });
            }
        }
Exemple #18
0
        public StatusTransaction SendToBook(ref trn_patient_regi tpr, ref string messegeSend)
        {
            try
            {
                DateTime dateNow = Program.GetServerDateTime();
                tpr.tpr_status      = "WB";
                tpr.tpr_pe_status   = "RS";
                tpr.tpr_update_by   = Program.CurrentUser.mut_username;
                tpr.tpr_update_date = dateNow;
                EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();
                mst_hpc_site      mhs         = mst.GetMstHpcSite(tpr.mhs_id);
                mst_room_hdr      mrm         = mst.GetMstRoomHdr("BK", mhs.mhs_code);
                mst_event         mvt         = mst.GetMstEvent("BK");
                trn_patient_queue tps         = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm.mrm_id && x.mvt_id == mvt.mvt_id).FirstOrDefault();

                //book
                //trn_patient_queue updateQueue;
                //if (tps == null)
                //{
                //    updateQueue = new trn_patient_queue();
                //    updateQueue.tps_create_by = Program.CurrentUser.mut_username;
                //    updateQueue.tps_create_date = dateNow;
                //    tpr.trn_patient_queues.Add(updateQueue);
                //}
                //else
                //{
                //    updateQueue = tpr.trn_patient_queues.Where(x => x.tps_id == tps.tps_id).FirstOrDefault();
                //}
                //updateQueue.mrm_id = mrm.mrm_id;
                //updateQueue.mvt_id = mvt.mvt_id;
                //updateQueue.mrd_id = null;
                //updateQueue.tps_end_date = null;
                //updateQueue.tps_start_date = null;
                //updateQueue.tps_status = "NS";
                //updateQueue.tps_ns_status = "QL";
                //updateQueue.tps_update_by = Program.CurrentUser.mut_username;
                //updateQueue.tps_update_date = dateNow;

                if (tps == null)
                {
                    tps = new trn_patient_queue();
                    tps.tps_create_by   = Program.CurrentUser.mut_username;
                    tps.tps_create_date = dateNow;
                    tpr.trn_patient_queues.Add(tps);
                }
                tps.mrm_id          = mrm.mrm_id;
                tps.mvt_id          = mvt.mvt_id;
                tps.mrd_id          = null;
                tps.tps_end_date    = null;
                tps.tps_start_date  = null;
                tps.tps_status      = "NS";
                tps.tps_ns_status   = "QL";
                tps.tps_update_by   = Program.CurrentUser.mut_username;
                tps.tps_update_date = dateNow;
                messegeSend         = "Queue No. " + tpr.tpr_queue_no + " Send to Book Complete.";
                return(StatusTransaction.True);
            }
            catch (Exception ex)
            {
                Program.MessageError("TransactionQueueCls", "SendToBook", ex, false);
                return(StatusTransaction.Error);
            }
        }
Exemple #19
0
        private void gridStation_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (gridStation.Columns[e.ColumnIndex].Name == "colBtn")
                {
                    StatusTransaction updateLower = UpdatedLower();
                    if (updateLower == StatusTransaction.True)
                    {
                        gridStationObj            gso = (gridStationObj)gridStationBindingSource.Current;
                        EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();
                        mst_event mvt = mst.GetMstEvent(gso.mvt_id);
                        if (mvt.mvt_code == "EM")
                        {
                            List <gridStationObj> obj           = (List <gridStationObj>)gridStationBindingSource.DataSource;
                            mst_event             eyeNurseEvent = mst.GetMstEvent("EN");
                            var incMvtCode = obj.Select(x => mst.GetMstEvent(x.mvt_id).mvt_code).ToList();
                            if (incMvtCode.Contains(eyeNurseEvent.mvt_code))
                            {
                                MessageBox.Show("Can not send to " + mvt.mvt_ename + " before " + eyeNurseEvent.mvt_ename + "." + Environment.NewLine +
                                                "Please select another room.", "Send Queue Alert", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return;
                            }
                        }

                        bool           success = false;
                        gridStationObj result  = (gridStationObj)gridStationBindingSource.Current;
                        if (rdSkip.Checked)
                        {
                            Class.ClsSkipOnStation skip = new Class.ClsSkipOnStation();
                            if (_useform == useform.onStation)
                            {
                                //success = skip.skipOnStationSendManaul((int)result.mrm_id, result.mvt_id);
                                StatusTransaction skipStation = skip.skipOnStationSendManaul((int)_tpr_id, (int)_tps_id, (int)result.mrm_id, result.mvt_id);
                                if (skipStation == StatusTransaction.True)
                                {
                                    new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SkipManual,
                                                                (int)_tpr_id,
                                                                (int)_tps_id,
                                                                Program.CurrentSite.mhs_id,
                                                                Program.CurrentRoom.mrd_ename,
                                                                Program.CurrentUser.mut_username);

                                    success = true;
                                    //if (new EmrClass.GetDataMasterCls().GetMstRoomHdr((int)result.mrm_id).mrm_code == "DC")
                                    //{
                                    //new Class.FunctionDataCls().stampPEDoctor((int)_tpr_id);
                                    //}
                                }
                                else if (skipStation == StatusTransaction.NoProcess)
                                {
                                    MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะดำเนินการ skip ต่อได้", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else if (skipStation == StatusTransaction.Error)
                                {
                                    MessageBox.Show("กรุณา skip อีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                            }
                            else if (_useform == useform.onWaiting)
                            {
                                //success = skip.skipOnStationSendManaul((int)result.mrm_id, result.mvt_id);
                                StatusTransaction skipStation = skip.skipOnWaitingSendManaul((int)_tpr_id, (int)_tps_id, (int)result.mrm_id, result.mvt_id);
                                if (skipStation == StatusTransaction.True)
                                {
                                    new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SkipOnWaitingManual,
                                                                (int)_tpr_id,
                                                                (int)_tps_id,
                                                                Program.CurrentSite.mhs_id,
                                                                "WaitingList",
                                                                Program.CurrentUser.mut_username);

                                    success = true;
                                    //if (new EmrClass.GetDataMasterCls().GetMstRoomHdr((int)result.mrm_id).mrm_code == "DC")
                                    //{
                                    //new Class.FunctionDataCls().stampPEDoctor((int)_tpr_id);
                                    //}
                                }
                                else if (skipStation == StatusTransaction.NoProcess)
                                {
                                    MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะดำเนินการ skip ต่อได้", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else if (skipStation == StatusTransaction.Error)
                                {
                                    MessageBox.Show("กรุณา skip อีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                            }
                        }
                        else if (rdPending.Checked)
                        {
                            Class.ClsPendingOnStation pend = new Class.ClsPendingOnStation();
                            if (_useform == useform.onStation)
                            {
                                //success = pend.pendingOnStationSendManaul((int)result.mrm_id, result.mvt_id);
                                StatusTransaction pendingStation = pend.pendingOnStationSendManaul((int)_tpr_id, (int)_mvt_id, (int)_mrm_id, (int)_mhs_id, (int)result.mrm_id, result.mvt_id, (int)_tps_id);
                                if (pendingStation == StatusTransaction.True)
                                {
                                    new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.PendingManual,
                                                                (int)_tpr_id,
                                                                (int)_tps_id,
                                                                Program.CurrentSite.mhs_id,
                                                                Program.CurrentRoom.mrd_ename,
                                                                Program.CurrentUser.mut_username);

                                    success = true;
                                    //if (new EmrClass.GetDataMasterCls().GetMstRoomHdr((int)result.mrm_id).mrm_code == "DC")
                                    //{
                                    //new Class.FunctionDataCls().stampPEDoctor((int)_tpr_id);
                                    //}
                                }
                                else if (pendingStation == StatusTransaction.NoProcess)
                                {
                                    MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะดำเนินการ pending ต่อได้", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else if (pendingStation == StatusTransaction.Error)
                                {
                                    MessageBox.Show("กรุณา pending อีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                            }
                            else if (_useform == useform.onWaiting)
                            {
                                //success = pend.pendingOnStationSendManaul((int)result.mrm_id, result.mvt_id);
                                StatusTransaction pendingStation = pend.pendingOnWaitingSendManaul((int)_tpr_id, (int)_mvt_id, (int)_mrm_id, (int)_mhs_id, (int)result.mrm_id, result.mvt_id, (int)_tps_id);
                                if (pendingStation == StatusTransaction.True)
                                {
                                    new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.PendingOnWaitingManual,
                                                                (int)_tpr_id,
                                                                (int)_tps_id,
                                                                Program.CurrentSite.mhs_id,
                                                                "WaitingList",
                                                                Program.CurrentUser.mut_username);

                                    success = true;
                                    //if (new EmrClass.GetDataMasterCls().GetMstRoomHdr((int)result.mrm_id).mrm_code == "DC")
                                    //{
                                    //new Class.FunctionDataCls().stampPEDoctor((int)_tpr_id);
                                    //}
                                }
                                else if (pendingStation == StatusTransaction.NoProcess)
                                {
                                    MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะดำเนินการ pending ต่อได้", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else if (pendingStation == StatusTransaction.Error)
                                {
                                    MessageBox.Show("กรุณากด pending อีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                            }
                        }
                        if (success)
                        {
                            Program.CurrentRegis         = null;
                            Program.CurrentPatient_queue = null;
                            this.DialogResult            = System.Windows.Forms.DialogResult.OK;
                        }
                    }
                    else if (updateLower == StatusTransaction.Error)
                    {
                        MessageBox.Show("กรุณากด send manual อีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("กรุณากด send manual อีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Program.MessageError("frmCancelQueue", "gridStation_CellContentClick", ex, false);
            }
            finally
            {
                this.Close();
            }
        }
Exemple #20
0
        private StatusTransaction get_list_tpl_id(int tpr_id, int mrm_id, ref List <int> list_tpl_id)
        {
            try
            {
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    List <int>   list_mvt_id = new List <int>();
                    mst_room_hdr mrm         = cdc.mst_room_hdrs.Where(x => x.mrm_id == mrm_id).FirstOrDefault();
                    switch (mrm.mrm_code)
                    {
                    case "EM":
                        if (Program.CurrentRoom.mrd_type == 'D')
                        {
                            mst_event mvt = cdc.mst_events.Where(x => x.mvt_code == "EM").FirstOrDefault();
                            if (mvt != null)
                            {
                                list_mvt_id.Add(mvt.mvt_id);
                            }
                            else
                            {
                                return(StatusTransaction.Error);
                            }
                        }
                        else if (Program.CurrentRoom.mrd_type == 'N')
                        {
                            mst_event mvt = cdc.mst_events.Where(x => x.mvt_code == "EN").FirstOrDefault();
                            if (mvt != null)
                            {
                                list_mvt_id.Add(mvt.mvt_id);
                            }
                            else
                            {
                                return(StatusTransaction.Error);
                            }
                        }
                        break;

                    case "TE":
                        if (Program.CurrentRoom.mrd_type == 'D')
                        {
                            mst_event mvt = cdc.mst_events.Where(x => x.mvt_code == "TX").FirstOrDefault();
                            if (mvt != null)
                            {
                                list_mvt_id.Add(mvt.mvt_id);
                            }
                            else
                            {
                                return(StatusTransaction.Error);
                            }
                        }
                        else if (Program.CurrentRoom.mrd_type == 'N')
                        {
                            mst_event mvt = cdc.mst_events.Where(x => x.mvt_code == "TE").FirstOrDefault();
                            if (mvt != null)
                            {
                                list_mvt_id.Add(mvt.mvt_id);
                            }
                            else
                            {
                                return(StatusTransaction.Error);
                            }
                        }
                        break;

                    default:
                        List <mst_room_event> list_room_event = cdc.mst_room_events.Where(x => x.mrm_id == mrm_id).ToList();
                        if (list_room_event != null && list_room_event.Count > 0)
                        {
                            list_mvt_id = list_room_event.Select(x => x.mvt_id).ToList();
                        }
                        else
                        {
                            return(StatusTransaction.Error);
                        }
                        break;
                    }

                    List <trn_patient_plan> list_patient_plan = cdc.trn_patient_plans.Where(x => x.tpr_id == tpr_id && list_mvt_id.Contains(x.mvt_id)).ToList();
                    if (list_patient_plan != null && list_patient_plan.Count() > 0)
                    {
                        list_tpl_id = list_patient_plan.Select(x => x.tpl_id).ToList();
                        return(StatusTransaction.True);
                    }
                    else
                    {
                        return(StatusTransaction.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                Program.MessageError("SendManaulCls", "get_list_tpl_id", ex, false);
                return(StatusTransaction.Error);
            }
        }
Exemple #21
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);
            }
        }
Exemple #22
0
        private bool popupFinish(int tpb_id)
        {
            using (frmPopupBookFinishRemark frm = new frmPopupBookFinishRemark())
            {
                frmPopupBookFinishRemark.bookFinish _bookFinish = frm.popupFinish();
                if (_bookFinish.save == true)
                {
                    try
                    {
                        using (InhCheckupDataContext dbc = new InhCheckupDataContext())
                        {
                            DateTime         dateNow = Program.GetServerDateTime();
                            int              tpr_id  = dbc.trn_patient_books.Where(x => x.tpb_id == tpb_id).Select(x => x.tpr_id).FirstOrDefault();
                            trn_patient_regi tpr     = dbc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault();
                            tpr.tpr_status = "CP";

                            trn_patient_book tpb = tpr.trn_patient_books.Where(x => x.tpb_id == tpb_id).FirstOrDefault();
                            tpb.tpb_status        = "BF";
                            tpb.tpb_send_email    = _bookFinish.detail.send_email;
                            tpb.tpb_send_post     = _bookFinish.detail.send_post;
                            tpb.tpb_finish_remark = _bookFinish.detail.remark;
                            tpb.tpb_update_by     = Program.CurrentUser.mut_username;
                            tpb.tpb_update_date   = dateNow;
                            tpb.tpb_finish_by     = Program.CurrentUser.mut_username;
                            tpb.tpb_finish_date   = dateNow;


                            EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls();
                            mst_hpc_site mhs        = mst.GetMstHpcSite(tpr.mhs_id);
                            mst_room_hdr mrm_finish = mst.GetMstRoomHdr("FN", mhs.mhs_code);
                            //mst_room_dtl mrd_finish = dbc.mst_room_dtls.Where(x => x.mrm_id == mrm_finish.mrm_id).FirstOrDefault();
                            mst_event         mvt_finish = mst.GetMstEvent("FN");
                            trn_patient_queue tps        = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm_finish.mrm_id).FirstOrDefault();

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

                            dbc.SubmitChanges();
                        }
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
            return(false);
        }
Exemple #23
0
        public bool SendQueueDoctorPEBeforeCheckB(int tpr_id, int tps_id, string username)
        {
            try
            {
                DateTime dateNow = Program.GetServerDateTime();
                using (InhCheckupDataContext cdc = new InhCheckupDataContext())
                {
                    try
                    {
                        cdc.Connection.Open();
                        DbTransaction trans = cdc.Connection.BeginTransaction();
                        cdc.Transaction = trans;

                        trn_patient_regi patientRegis = cdc.trn_patient_regis
                                                        .Where(x => x.tpr_id == tpr_id)
                                                        .FirstOrDefault();

                        trn_patient_queue PatientQueue = patientRegis.trn_patient_queues
                                                         .Where(x => x.tps_id == tps_id)
                                                         .FirstOrDefault();

                        PatientQueue.tps_send_by     = username;
                        PatientQueue.tps_end_date    = dateNow;
                        PatientQueue.tps_status      = "ED";
                        PatientQueue.tps_ns_status   = null;
                        PatientQueue.tps_update_by   = username;
                        PatientQueue.tps_update_date = dateNow;

                        mst_event eventScreening = cdc.mst_events.Where(x => x.mvt_code == "SC").FirstOrDefault();
                        if (patientRegis.trn_patient_queues.Any(x => x.mvt_id == eventScreening.mvt_id))
                        {
                            if (patientRegis.tpr_return_screening == true)
                            {
                                patientRegis.tpr_return_screening = false;
                                SendToScreening(ref patientRegis, dateNow, username);
                            }
                            else
                            {
                                SendToCheckB(ref patientRegis, dateNow, username);
                            }
                        }
                        else
                        {
                            SendToScreening(ref patientRegis, dateNow, username);
                        }

                        cdc.SubmitChanges();
                        cdc.Transaction.Commit();
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        cdc.Transaction.Rollback();
                        Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false);
                        return(false);
                    }
                    finally
                    {
                        cdc.Connection.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false);
                return(false);
            }
        }
Exemple #24
0
        private bool ProcessSelectRoom(int select_mvt_id, int select_mrm_id, int waitingTime)
        {
            EmrClass.GetDataMasterCls mst  = new EmrClass.GetDataMasterCls();
            Class.FunctionDataCls     func = new Class.FunctionDataCls();
            int          tpr_id            = Program.CurrentRegis.tpr_id;
            int          mrm_id            = Program.CurrentRoom.mrm_id;
            mst_room_hdr currentRoom       = mst.GetMstRoomHdr(mrm_id);

            if (currentRoom != null && currentRoom.mrm_code == "EM" && Program.CurrentRoom.mrd_type == 'N')
            {
                mst_event selectRoom = mst.GetMstEvent(select_mvt_id);
                if (func.checkEyeDropper(tpr_id))
                {
                    if (selectRoom != null)
                    {
                        if (selectRoom.mvt_code == "EM")
                        {
                            if (MessageBox.Show("มีการเลือก Eye Dropper ซึ่งมีการรอ 15 นาที" + Environment.NewLine + "คุณต้องการดำเนินการต่อหรือไม่?", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                            {
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            var timelimit = Program.GetLimitTime("EDT");
                            if (waitingTime > timelimit)
                            {
                                if (MessageBox.Show("ห้องที่คุณเลือก มีเวลารอเกิน " + timelimit.ToString() + " นาที" + Environment.NewLine + "คุณต้องการดำเนินการต่อหรือไม่?", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                                {
                                    return(true);
                                }
                                else
                                {
                                    return(false);
                                }
                            }
                            else
                            {
                                return(true);
                            }
                        }
                    }
                    return(false);
                }
                else
                {
                    if (selectRoom != null)
                    {
                        if (selectRoom.mvt_code != "EM")
                        {
                            if (MessageBox.Show("ส่งห้องที่ไม่ใช่ Eye Doctor คุณต้องการจะดำเนินการต่อหรือไม่?", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                            {
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(true);
                        }
                    }
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }