private void newWaitingListStationUC1_OnWaitingSuccessProcess(object sender, StatusTransaction isCallQueue, string e) { this.AutoScrollPosition = new Point(0, 0); lbAlertMsg.Text = e; if (isCallQueue == StatusTransaction.True) { DisableBtnAll(); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); if (Program.CurrentRegis != null) { this.tpr_id = Program.CurrentRegis.tpr_id; this.tps_id = Program.CurrentPatient_queue.tps_id; clsCountDown.startCountDown(0, clsCountDown.GetTimeCountDown()); StatusNSWR(); } else { lbAlertMsg.Text = "No patient on queue!"; StatusEmptyRoom(); } frmbg.Close(); } }
private void _OnWaitingSuccessProcess(StatusTransaction isCallQueue, string e) { // Make sure someone is listening to event if (OnWaitingSuccessProcess == null) { return; } OnWaitingSuccessProcess(this, isCallQueue, e); }
public StatusTransaction sendClearUnitDisplay() { try { if (PrePareData.StaticDataCls.UseUnitDisplay) { int tpr_id = 0; if (Program.CurrentRegis != null) { tpr_id = Program.CurrentRegis.tpr_id; } int mhs_id = Program.CurrentSite.mhs_id; StatusTransaction chkVip = new Class.FunctionDataCls().chkVipType(tpr_id, mhs_id); if (chkVip == StatusTransaction.False) { int mrd_id = 0; if (Program.CurrentRoom != null) { mrd_id = Program.CurrentRoom.mrd_id; } StatusTransaction isCheckP = isCheckPoint(mrd_id); if (isCheckP == StatusTransaction.False) { int?mvt_id = Program.CurrentPatient_queue.mvt_id; return(sendClearUnitDisplay(tpr_id, mhs_id, mrd_id, (int)mvt_id)); } else if (isCheckP == StatusTransaction.True) { return(StatusTransaction.False); } else { return(isCheckP); } } else if (chkVip == StatusTransaction.True) { return(StatusTransaction.False); } else { return(chkVip); } } else { return(StatusTransaction.False); } } catch (Exception ex) { Program.MessageError("ClsTCPClient", "sendClearUnitDisplay()", ex, false); return(StatusTransaction.Error); } }
private void GridWaitingList_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (_mrm_id == null || _mrd_id == null || mut_id == null) { } else { if (e.RowIndex < 0) { return; } try { if (!_ableDoubleClick) { return; } DataGridView dgv = (DataGridView)sender; Class.WaitingListCls.WaitingListDtl data = (Class.WaitingListCls.WaitingListDtl)dgv.Rows[e.RowIndex].DataBoundItem; int tpr_id = data.tpr_id; string queueNo = ""; int tps_id = 0; frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); StatusTransaction onWaiting = new Class.FunctionDataCls().checkStatusWaiting(tpr_id, (int)_mrm_id, ref tps_id, ref queueNo); frmbg.Close(); if (onWaiting == StatusTransaction.False) { _OnWaitingSuccessProcess(StatusTransaction.False, queueNo + " อยู่ในสถานะที่ไม่สามารถดำเนินการได้ กรุณาตรวจสอบ"); } else { string messageAlert = ""; frmManageWaiting frmWaiting = new frmManageWaiting(); StatusTransaction isCallQ = frmWaiting.isCallQueue(tps_id, ref messageAlert); if (isCallQ == StatusTransaction.True) { } _OnWaitingSuccessProcess(isCallQ, messageAlert); } } catch (Exception ex) { Program.MessageError(this.Name, "GridWaitingList_CellDoubleClick", ex, false); } finally { Program.RefreshWaiting = true; } } }
private void GridWaitingList_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } try { if (!_ableDoubleClick) { return; } Program.RefreshWaiting = false; int tpr_id = (int)(GridWaitingList.Rows[e.RowIndex].Cells["tpr_id"].Value); string queueNo = ""; int tps_id = 0; frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); StatusTransaction onWaiting = new Class.FunctionDataCls().checkStatusWaiting(tpr_id, Program.CurrentRoom.mrm_id, ref tps_id, ref queueNo); frmbg.Close(); if (onWaiting == StatusTransaction.False) { _OnWaitingSuccessProcess(StatusTransaction.False, queueNo + " อยู่ในสถานะที่ไม่สามารถดำเนินการได้ กรุณาตรวจสอบ"); } else { string messageAlert = ""; frmManageWaiting frmWaiting = new frmManageWaiting(); StatusTransaction isCallQ = frmWaiting.isCallQueue(tps_id, ref messageAlert); if (isCallQ == StatusTransaction.True) { } _OnWaitingSuccessProcess(isCallQ, messageAlert); } } catch (Exception ex) { Program.MessageError("UIWaitList", "GridWaitingList_CellDoubleClick", ex, false); } finally { Program.RefreshWaiting = true; } }
private void btnCallQueue_Click(object sender, EventArgs e) { StatusTransaction callQ = new Class.FunctionDataCls().callQueue(_tps_id); if (callQ == StatusTransaction.True) { transaction = StatusTransaction.True; } else if (callQ == StatusTransaction.False) { messageAlert = _queue_no + " ไม่สามารถดำเนินการต่อได้ กรุณาตรวจสอบอีกครั้ง"; } else { transaction = callQ; } this.Close(); }
public StatusTransaction SendToCheckC(int tpr_id, int mrm_id, ref string messegeSend) { try { int tps_id = Program.CurrentPatient_queue.tps_id; StatusTransaction sendC = SendToCheckC(tpr_id, mrm_id, tps_id, ref messegeSend); if (sendC == StatusTransaction.True) { callLab(tpr_id); } return(sendC); } catch (Exception ex) { Program.MessageError("SendQueue", "SendToCheckC", ex, false); return(StatusTransaction.Error); } }
public static Transaction CreateTransaction(this Employee employee, Customer customer, Store store, double amount, double discount, StatusTransaction statusTransaction) { var temp = new Transaction { Employee = employee, Store = store, Customer = customer, Amount = amount, Status = statusTransaction, CreatedBy = employee }; temp.Total = temp.TransactionItems.Sum(t => (t.Stock.Item.CostPrice + t.Stock.AddedPrice) * t.Quantity); temp.Tax = temp.Total * temp.Store.TaxRate; temp.Discount = (temp.Total * temp.Store.DiscountRate) + discount; temp.Change = temp.Amount - (temp.Total - temp.Discount); return(temp.Save()); }
private void btnCallQueue_Click(object sender, EventArgs e) { DisableBtnAll(); this.AutoScrollPosition = new Point(0, 0); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); try { //noina StatusTransaction callQ = CallQueue.P_CallQueueWaitReady(); //end noina if (callQ == StatusTransaction.Error) { lbAlertMsg.Text = "กรุณากด Call Queue อีกครั้ง"; btnCallQueue.Enabled = true; } else { if (Program.CurrentRegis != null) { this.tpr_id = Program.CurrentRegis.tpr_id; clsCountDown.startCountDown(0, clsCountDown.GetTimeCountDown()); StatusNSWR(); } else { lbAlertMsg.Text = "No patient on queue!"; StatusEmptyRoom(); } } } catch (Exception ex) { Program.MessageError(this.Name, "btnCallQueue_Click", ex, false); } finally { frmbg.Close(); } }
private void btnImport_Click(object sender, EventArgs e) { if (MessageBox.Show("คำเตือน!! การ Import มีผลกระทบต่อระบบ Queue คุณต้องการ Import หรือไม่?", "Warning!!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.No) { return; } List <int> mvt_id = new List <int>(); foreach (DataGridViewRow row in gridStation.Rows) { try { bool val = Convert.ToBoolean(row.Cells["colChk"].Value); if (val) { int mvt = Convert.ToInt32(row.Cells["col_mvt_id"].Value); mvt_id.Add(mvt); } } catch (Exception ex) { Program.MessageError(this.Name, "btnImport_Click", ex, false); } } StatusTransaction tran = new EmrClass.ImportPatientToBookCls().importPatient((int)_tpr_id, mvt_id); if (tran == StatusTransaction.True) { status = StatusTransaction.True; this.Close(); } else if (tran == StatusTransaction.Error) { status = StatusTransaction.Error; _tpr_id = null; } }
public StatusTransaction SendManualOnStationPendingCheckB(int tpr_id, int mrm_id, ref string messegeSend) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { string currentRoom = new EmrClass.GetDataMasterCls().GetMstRoomHdrByMrd_id(Program.CurrentRoom.mrd_id).mrm_code; trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); StatusTransaction result = SendManualPendingCheckB(ref tpr, ref messegeSend, currentRoom); if (result == StatusTransaction.True) { tpr.tpr_pending_cancel_onday = false; StatusTransaction checkPatientOnCheckB = new Class.FunctionDataCls().checkStatusPatientOnCheckPointB(tpr_id, mrm_id); if (checkPatientOnCheckB == StatusTransaction.True) { new TransactionPlanCls().endPlan(ref tpr, mrm_id); new TransactionQueueCls().endQueue(ref tpr); try { cdc.SubmitChanges(); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } } } else if (checkPatientOnCheckB == StatusTransaction.False) { MessageBox.Show("สถานะของคนไข้ ไม่ได้อยู่ในสถานะที่จะ Send Manual ได้", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return(StatusTransaction.False); } new Class.ReserveSkipCls().SendAndReserve(tpr_id); return(StatusTransaction.True); } else if (result == StatusTransaction.False) { StatusTransaction rePendingCB = new Class.FunctionDataCls().rePendingCheckB(ref tpr); if (rePendingCB == StatusTransaction.Error) { return(StatusTransaction.Error); } try { cdc.SubmitChanges(); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } } return(StatusTransaction.False); } else { StatusTransaction rePendingCB = new Class.FunctionDataCls().rePendingCheckB(ref tpr); if (rePendingCB == StatusTransaction.Error) { return(StatusTransaction.Error); } try { cdc.SubmitChanges(); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } } return(StatusTransaction.Error); } } catch (Exception ex) { Program.MessageError("SendManaulCls", "SendManualOnStationPendingCheckB", ex, false); return(StatusTransaction.Error); } } }
private void cls_successCountDown(object sender, successTypeArgs e) { DisableBtnAll(); StatusTransaction ready = CallQueue.P_CallQueueReady(); if (ready == StatusTransaction.True) { StatusTransaction showUnit = new ClsTCPClient().sendCallUnitDisplay(); if (showUnit == StatusTransaction.Error) { //lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถแสดงผลบน unit display ได้"; } Class.FunctionDataCls func = new Class.FunctionDataCls(); resultUltrasound = func.popupUltrasoundLower(); if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.BeforeStation) { EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); List <int> mvt = mst.GetMstRoomEventByMrm(Program.CurrentRoom.mrm_id).Select(x => x.mvt_id).ToList(); Class.FunctionDataCls.sendQueueStatus result = func.sendQueueUltrasoundLower(resultUltrasound, mvt); if (result == Class.FunctionDataCls.sendQueueStatus.error) { lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถส่งไป ultrasound ได้ กรุณาติดต่อผู้ดูแลระบบ"; AlertOutDepartment.LoadTime(); StatusWK(); } else if (result == Class.FunctionDataCls.sendQueueStatus.sendSuccess) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendUltraSoundBefore, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username); new ClsTCPClient().sendClearUnitDisplay(); StatusEmptyRoom(); lbAlertMsg.Text = func.GetStrSaveAndSend((int)tpr_id, "US", "UL"); this.tpr_id = null; } } else if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AfterStation) { AlertOutDepartment.LoadTime(); ReserveSkipCls reserveSkip = new ReserveSkipCls(); int? skipRoom = reserveSkip.CheckRoomSkip(tpr_id); string alert = reserveSkip.MessegeAlertSkip(skipRoom); StatusSendUltrasoundAfter(); lbAlertMsg.Text = alert; } else if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AskMeLater) { AlertOutDepartment.LoadTime(); ReserveSkipCls reserveSkip = new ReserveSkipCls(); int? skipRoom = reserveSkip.CheckRoomSkip(tpr_id); StatusWK(); string alert = reserveSkip.MessegeAlertSkip(skipRoom); lbAlertMsg.Text = alert; } } else if (ready == StatusTransaction.Error) { lbAlertMsg.Text = "กรุณากดปุ่ม Ready อีกครั้ง"; StatusNSWR(); } }
public StatusTransaction SendManualOnCheckB(int tpr_id, int mrm_id, ref string messageSend) { Program.RefreshWaiting = false; try { StatusTransaction checkRemain = new Class.FunctionDataCls().checkRemainEvent(tpr_id); if (checkRemain == StatusTransaction.True) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction tran = cdc.Connection.BeginTransaction(); cdc.Transaction = tran; string currentRoom = new EmrClass.GetDataMasterCls().GetMstRoomHdrByMrd_id(Program.CurrentRoom.mrd_id).mrm_code; trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); StatusTransaction result = SendManual(ref tpr, ref messageSend, currentRoom); if (result == StatusTransaction.True) { StatusTransaction checkPatientOnCheckB = new Class.FunctionDataCls().checkStatusPatientOnCheckPointB(tpr_id, mrm_id); if (checkPatientOnCheckB == StatusTransaction.True || checkPatientOnCheckB == StatusTransaction.NoProcess) { new TransactionPlanCls().endPlan(ref tpr, mrm_id); new TransactionQueueCls().endQueue(ref tpr); cdc.SubmitChanges(); cdc.Transaction.Commit(); return(StatusTransaction.True); } else if (checkPatientOnCheckB == StatusTransaction.False) { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะ ที่จะ Send Manaul ได้", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return(StatusTransaction.False); } else { return(checkPatientOnCheckB); } } else { return(result); } } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("SendManaulCls", "SendManualOnStation", ex, false); return(StatusTransaction.Error); } finally { cdc.Connection.Close(); } } } else if (checkRemain == StatusTransaction.False) { return(new SendQueue().SendToCheckC(tpr_id, mrm_id, ref messageSend)); } else { return(checkRemain); } } catch (Exception ex) { Program.MessageError("SendManaulCls", "SendManualOnStation", ex, false); return(StatusTransaction.Error); } finally { Program.RefreshWaiting = true; } }
private void btnSendAuto_Click(object sender, EventArgs e) { DisableBtnAll(); DateTime startDate = DateTime.Now; this.AutoScrollPosition = new Point(0, 0); //tps_id = Program.CurrentPatient_queue.tps_id; Class.FunctionDataCls func = new Class.FunctionDataCls(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); try { int patientMvt = paRegis.trn_patient_queues.Where(x => x.tps_id == tps_id) .Select(x => (int)x.mvt_id).FirstOrDefault(); using (InhCheckupDataContext contxt = new InhCheckupDataContext()) { string mvt_code = contxt.mst_events.Where(x => x.mvt_id == patientMvt).Select(x => x.mvt_code).FirstOrDefault(); if (mvt_code == "PE") { if (new Class.FunctionDataCls().checkPassedCheckPointB((int)this.tpr_id)) { this.PatientEvent = PatientEventStatus.PEAfterCheckB; } else { this.PatientEvent = PatientEventStatus.PEBeforeCheckB; } } else { this.PatientEvent = PatientEventStatus.Result; } } if (saveData()) { if (this.PatientEvent == PatientEventStatus.PEBeforeCheckB) { bool sent = new QueueClass.TransactionQueueCls().SendQueueDoctorPEBeforeCheckB((int)tpr_id, (int)tps_id, user.mut_username); if (sent) { lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); } else { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง";; StatusWK(); } } else if (this.PatientEvent == PatientEventStatus.PEAfterCheckB) { if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AfterStation) { List <int> mvt = mst.GetMstRoomEventByMrm(Program.CurrentRoom.mrm_id).Select(x => x.mvt_id).ToList(); Class.FunctionDataCls.sendQueueStatus result = func.sendQueueUltrasoundLower(resultUltrasound, mvt); if (result == Class.FunctionDataCls.sendQueueStatus.error) { lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถส่งไป ultrasound ได้ กรุณาติดต่อผู้ดูแลระบบ"; StatusWK(); } else if (result == Class.FunctionDataCls.sendQueueStatus.sendSuccess) { new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Text = func.GetStrSaveAndSend((int)tpr_id, "US", "UL"); StatusEmptyRoom(); this.tpr_id = null; } } else { if (new Class.FunctionDataCls().ChkSendAutoNewModule(Program.CurrentRegis)) { string msgAlert = ""; bool isPopup = false; List <int> list_mvt_id = new List <int> { patientMvt }; QueueClass.SendAutoCls.ResultSendQueue result = new QueueClass.SendAutoCls().SendAuto((int)tps_id, list_mvt_id, user, ref msgAlert, ref isPopup); if (result == QueueClass.SendAutoCls.ResultSendQueue.Error) { lbAlertMsg.Text = msgAlert; StatusWK(); } else { lbAlertMsg.Visible = true; if (result == QueueClass.SendAutoCls.ResultSendQueue.SendComplete) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); new Class.ReserveSkipCls().SendAndReserve(tpr_id); StatusEmptyRoom(); this.tpr_id = null; if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } else { if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } } } else { StatusTransaction result = CallQueue.SendAutoOnStation(); if (result == StatusTransaction.True || result == StatusTransaction.SendCheckB) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Visible = true; new Class.ReserveSkipCls().SendAndReserve(tpr_id); lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); this.tpr_id = null; } else if (result == StatusTransaction.Error) { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง"; StatusWK(); } else if (result == StatusTransaction.False) { lbAlertMsg.Text = "Save Data Complete."; StatusWK(); } } } } else if (this.PatientEvent == PatientEventStatus.Result) { bool sent = new QueueClass.TransactionQueueCls().SendQueueDoctorResult((int)tps_id, user.mut_username); if (sent) { lbAlertMsg.Text = "Sent To Checkpoint C."; StatusEmptyRoom(); } else { lbAlertMsg.Text = "Save Data Incomplete. Please Try Again."; StatusWK(); } } } else { lbAlertMsg.Text = "Save Data Incomplete. Please Try Again."; StatusWK(); } } catch (Exception ex) { lbAlertMsg.Text = ex.Message; StatusWK(); } frmbg.Close(); }
private void uiWaitList1_OnWaitingSuccessProcess(object sender, StatusTransaction isCallQueue, string e) { _OnWaitingSuccessProcess(isCallQueue, e); }
private void DGV_Waiting_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (((DataGridView)sender).Columns[e.ColumnIndex].Name == "colBtnCancelQueue") { gridProp gp = (gridProp)gridBS.Current; if (checkStatusCanSend(gp.tps_id)) { Class.FunctionDataCls func = new Class.FunctionDataCls(); if (func.checkPassedCheckPointB(gp.tpr_id)) { frmCancelQueue frmCancelQueue = new frmCancelQueue(gp.tpr_id, gp.mvt_id, gp.mrm_id, gp.mhs_id, gp.tps_id, false, frmCancelQueue.useform.onWaiting); if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.OK) { string alert = func.getStringGotoNextRoom(gp.tpr_id); MessageBox.Show(alert); _cancelQueueHandler(null); new Class.ReserveSkipCls().SendAndReserve(gp.tpr_id); return; } else if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.Cancel) { return; } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่ดำเนินการ skip ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _cancelQueueHandler(null); } } else if (((DataGridView)sender).Columns[e.ColumnIndex].Name == "colSendToCheckB") { gridProp gp = (gridProp)gridBS.Current; if (checkStatusCanSend(gp.tps_id)) { DialogResult result = MessageBox.Show("คุณต้องการส่ง คนไข้ไปยัง Check Point B หรือไม่?", "Alert.", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { Class.SendToCheckBCls sendB = new Class.SendToCheckBCls(); StatusTransaction complete = sendB.SendToCheckBOnWaiting(gp.tpr_id, (int)gp.mrm_id); if (complete == StatusTransaction.True) { try { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendCheckB, gp.tpr_id, gp.tps_id, (Program.CurrentSite == null ? 0 : Program.CurrentSite.mhs_id), "WaitingList", (Program.CurrentUser == null ? "" : Program.CurrentUser.mut_username)); } catch (Exception ex) { Program.MessageError(this.Name, "logPatientFlowCls", ex, false); } MessageBox.Show("Sent To Checkpoint B Complete.", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _sendTocheckBHandler(null); } else if (complete == StatusTransaction.NoProcess) { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _sendTocheckBHandler(null); } else if (complete == StatusTransaction.Error) { MessageBox.Show("ระบบเกิดความผิดพลาดไม่สามารถส่งไปยัง checkpoin B ได้ กรุณาทำอีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _sendTocheckBHandler(null); } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _cancelQueueHandler(null); } } }
private void btnSaveLab_Click(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; string username = Program.CurrentUser == null ? "" : Program.CurrentUser.mut_username; DateTime dateNow = Program.GetServerDateTime(); foreach (DataGridViewRow row in dgvEnList.Rows) { if (Convert.ToBoolean(row.Cells["Select"].FormattedValue)) { int?tpr_id = null; ImportPatient(ref tpr_id, row.Cells["EN"].Value.ToString()); StatusTransaction tran = importPatient((int)tpr_id); //merge to main en using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { var tpegNew = cdc.trn_patient_ass_grps.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); var tpegCurrent = cdc.trn_patient_ass_grps.Where(x => x.tpr_id == _tprIDCurrent).FirstOrDefault(); foreach (var hdrNew in tpegNew.trn_patient_ass_hdrs) { //add lab header bool isMergeHdr = true; var hdrCurrent = tpegCurrent.trn_patient_ass_hdrs.Where(x => x.tpeh_order_code == hdrNew.tpeh_order_code).FirstOrDefault(); if (hdrCurrent == null)//new Hdr { isMergeHdr = false; hdrCurrent = new trn_patient_ass_hdr { tpeh_order_code = hdrNew.tpeh_order_code, tpeh_order_name = hdrNew.tpeh_order_name, tpeh_create_by = username, tpeh_create_date = dateNow, tpeh_summary = hdrNew.tpeh_summary, tpeh_pat_education = hdrNew.tpeh_pat_education, tpeh_status = hdrNew.tpeh_status, tpeh_update_by = username, tpeh_update_date = dateNow }; tpegCurrent.trn_patient_ass_hdrs.Add(hdrCurrent); } //end add lab header foreach (var dtlNew in hdrNew.trn_patient_ass_dtls) { var dtlCurrent = hdrCurrent.trn_patient_ass_dtls.Where(x => x.tped_lab_code == dtlNew.tped_lab_code && x.tped_lab_AddLabEN == row.Cells["EN"].Value.ToString()).FirstOrDefault(); if (dtlCurrent == null) { dtlCurrent = new trn_patient_ass_dtl { tped_lab_code = dtlNew.tped_lab_code, tped_lab_name = dtlNew.tped_lab_name, tped_create_by = username, tped_create_date = dateNow }; hdrCurrent.trn_patient_ass_dtls.Add(dtlCurrent); } dtlCurrent.tped_lab_value = dtlNew.tped_lab_value; dtlCurrent.mlr_id = dtlNew.mlr_id; dtlCurrent.tped_summary = dtlNew.tped_summary; dtlCurrent.tped_lab_unit = dtlNew.tped_lab_unit; dtlCurrent.tped_lab_nrange = dtlNew.tped_lab_nrange; dtlCurrent.tped_lab_result_eng = dtlNew.tped_lab_result_eng; dtlCurrent.tped_lab_result_thai = dtlNew.tped_lab_result_thai; dtlCurrent.tped_status = dtlNew.tped_status; dtlCurrent.tped_update_by = username; dtlCurrent.tped_update_date = dateNow; dtlCurrent.tped_lab_result_status = "DF"; dtlCurrent.tped_lab_AddLabEN = row.Cells["EN"].Value.ToString(); } //compute tpeh_pat_education if (isMergeHdr) { //var edu = hdrCurrent.trn_patient_ass_dtls.Where(x => x.tped_summary == 'A' && !string.IsNullOrEmpty(x.tped_lab_result_thai)).Select(x => x.tped_lab_result_thai).ToList(); var edu = hdrCurrent.trn_patient_ass_dtls.Where(x => x.tped_summary == 'A' && !string.IsNullOrEmpty(x.tped_lab_result_thai)).Select(x => x.tped_lab_result_thai).Distinct().ToList(); hdrCurrent.tpeh_pat_education = string.Join(", ", edu); } } cdc.SubmitChanges();//for each header } } } MessageBox.Show("Save completed"); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { Cursor.Current = Cursors.Default; this.Close(); } }
private void btnSendAuto_Click(object sender, EventArgs e) { try { StatusTransaction updateLower = UpdatedLower(); if (updateLower == StatusTransaction.True) { StatusTransaction success = StatusTransaction.NoProcess; if (rdSkip.Checked) { Class.ClsSkipOnStation skip = new Class.ClsSkipOnStation(); //success = skip.skipOnStationSendAuto(); success = skip.skipOnStationSendAuto((int)_tpr_id, (int)_mrm_id, (int)_tps_id); } else if (rdPending.Checked) { Class.ClsPendingOnStation pend = new Class.ClsPendingOnStation(); //success = pend.pendingOnStationSendAuto(); success = pend.pendingOnStationSendAuto((int)_tpr_id, (int)_mvt_id, (int)_mrm_id, (int)_mhs_id, (int)_tps_id); } if (success == StatusTransaction.True) { if (rdSkip.Checked) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SkipAuto, (int)_tpr_id, (int)_tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username); } else if (rdPending.Checked) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.PendingAuto, (int)_tpr_id, (int)_tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username); } Program.CurrentRegis = null; Program.CurrentPatient_queue = null; this.DialogResult = System.Windows.Forms.DialogResult.OK; } else if (success == StatusTransaction.ReSendManualSite2) { MessageBox.Show("ไม่สามารถดำเนินการ send auto ได้ กรุณาเลือกห้องที่จะส่งอีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("กรุณาดำเนินการอีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); this.DialogResult = System.Windows.Forms.DialogResult.Retry; //return error } } else if (updateLower == StatusTransaction.Error) { MessageBox.Show("กรุณา send auto อีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch { } }
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(); } }
public StatusTransaction pendingOnStationSendAuto(int tpr_id, int mvt_id, int mrm_id, int mhs_id, int tps_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { Class.clsLogSendAuto logCls = new Class.clsLogSendAuto(); List <log_send_auto> log_auto = null; try { List <vw_patient_room> vw_pa_room = logCls.getLogSendAuto(tpr_id); if (vw_pa_room != null) { log_auto = vw_pa_room.Select(x => new log_send_auto { tpr_id = x.tpr_id, process_type = "P", process_tps_id = tps_id, login_flag = x.login_flag, mhs_code = x.mhs_code, mhs_ename = x.mhs_ename, mrm_ename = x.mrm_ename, mrm_id = x.mrm_id, mrm_seq_room = x.mrm_seq_room, mvt_code = x.mvt_code, mvt_id = x.mvt_id, mvt_type_cate = x.mvt_type_cate.ToString(), mze_code = x.mze_code, mze_ename = x.mze_ename, mze_id = x.mze_id, patient_vip = x.patient_vip, send_type = x.send_type, site_rm = x.site_rm, skip_seq = x.skip_seq, skip_type = x.skip_type, waiting_person = x.waiting_person, waiting_time = x.waiting_time }).ToList(); } } catch (Exception ex) { Program.MessageError("log_send_auto", "", ex, false); } List <int> list_mvt_id = new Class.FunctionDataCls().get_mvt_id(mrm_id); StatusTransaction result = CallQueue.PSendAutoAllRoom(Class.SendType.Pending, mrm_id, list_mvt_id, tps_id); if (result == StatusTransaction.SendCheckB) { if (Program.CurrentSite.mhs_extra_pe_type == true && Program.CurrentRegis.tpr_pe_site2 == 'N' && (Program.CurrentRegis.tpr_pd_pe_site2 == null || Program.CurrentRegis.tpr_pd_pe_site2 == false)) { return(StatusTransaction.ReSendManualSite2); } else { string messege = ""; StatusTransaction returnB = new Class.SendQueue().ReturnToCheckB(Class.SendType.Pending, tpr_id, mrm_id, tps_id, list_mvt_id, ref messege); if (returnB == StatusTransaction.True) { //new ClsTCPClient().sendClearUnitDisplay(); //new Class.FunctionDataCls().SendToCheckPointB(tpr_id, tps_id); } System.Windows.Forms.MessageBox.Show("ระบบไม่สามารถส่งห้องที่เหลือแบบอัตโนมัติได้ ผู้รับบริการจะถูกส่งไป Check point B", "Send Queue Alert", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information); return(returnB); } } else if (result == StatusTransaction.True) { try { if (log_auto != null) { string queue_no = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).Select(x => x.tpr_queue_no).FirstOrDefault(); int? log_tps_id = logCls.get_tps_id(tpr_id); int index = 1; log_auto.ForEach(x => { x.tps_id = log_tps_id; x.seq_id = index++; x.tpr_queue_no = queue_no; }); cdc.log_send_autos.InsertAllOnSubmit(log_auto); cdc.SubmitChanges(); } } catch (Exception ex) { Program.MessageError("log_send_auto", "", ex, false); } return(result); } else { return(result); } } //InhCheckupDataContext cdc = new InhCheckupDataContext(); //trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); //tpr.tpr_pending = true; //updatePendingPatientPlan(ref tpr, mvt_id, mrm_id, mhs_id); //cdc.SubmitChanges(); //updatePendingPatientQueue(ref cdc, ref tpr, mrm_id); //insertPatientPending(ref tpr, mrm_id); //CallQueue.PSendAutoAllRoom(true); //// alert //try //{ // cdc.SubmitChanges(); //} //catch (System.Data.Linq.ChangeConflictException) //{ // foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) // { // cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); // } // cdc.SubmitChanges(); //} //return true; } catch (Exception ex) { Program.MessageError("ClsPendingOnStation", "pendingOnStationSendAuto", ex, false); return(StatusTransaction.Error); } }
private StatusTransaction SendToStation(int tpr_id, int?end_tps_id, int end_mrm_id, int send_mrm_id, int send_mvt_id, ref string messegeSend) { try { DateTime dateNow = Program.GetServerDateTime(); using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction tran = cdc.Connection.BeginTransaction(); cdc.Transaction = tran; int?send_tps_id = null; StatusTransaction get_tps = get_send_to_tps_id(tpr_id, send_mrm_id, send_mvt_id, ref send_tps_id); trn_patient_queue send_patient_queue; if (get_tps == StatusTransaction.True) { if (send_tps_id != null) { send_patient_queue = cdc.trn_patient_queues.Where(x => x.tps_id == send_tps_id).FirstOrDefault(); send_patient_queue.mrm_id = send_mrm_id; send_patient_queue.mvt_id = send_mvt_id; send_patient_queue.mrd_id = null; send_patient_queue.tps_end_date = null; send_patient_queue.tps_start_date = null; send_patient_queue.tps_status = "NS"; send_patient_queue.tps_ns_status = "QL"; send_patient_queue.tps_update_by = Program.CurrentUser.mut_username; send_patient_queue.tps_update_date = dateNow; } else { send_patient_queue = new trn_patient_queue(); send_patient_queue.tpr_id = tpr_id; send_patient_queue.tps_create_by = Program.CurrentUser.mut_username; send_patient_queue.tps_create_date = dateNow; send_patient_queue.mrm_id = send_mrm_id; send_patient_queue.mvt_id = send_mvt_id; send_patient_queue.mrd_id = null; send_patient_queue.tps_end_date = null; send_patient_queue.tps_start_date = null; send_patient_queue.tps_status = "NS"; send_patient_queue.tps_ns_status = "QL"; send_patient_queue.tps_update_by = Program.CurrentUser.mut_username; send_patient_queue.tps_update_date = dateNow; cdc.trn_patient_queues.InsertOnSubmit(send_patient_queue); } } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } List <int> list_tpl_id = new List <int>(); StatusTransaction get_tpl = get_list_tpl_id(tpr_id, end_mrm_id, ref list_tpl_id); if (get_tpl == StatusTransaction.True) { if (list_tpl_id != null && list_tpl_id.Count() > 0) { List <trn_patient_plan> list_patient_plan = cdc.trn_patient_plans.Where(x => list_tpl_id.Contains(x.tpl_id)).ToList(); list_patient_plan.ForEach(x => x.tpl_status = 'P'); } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } } else { return(StatusTransaction.Error); } if (end_tps_id != null && end_tps_id > 0) { trn_patient_queue end_patient_queue = cdc.trn_patient_queues.Where(x => x.tps_id == end_tps_id).FirstOrDefault(); if (end_patient_queue != null) { end_patient_queue.mrd_id = Program.CurrentRoom.mrd_id; end_patient_queue.tps_send_by = Program.CurrentUser.mut_username; end_patient_queue.tps_end_date = dateNow; end_patient_queue.tps_status = "ED"; end_patient_queue.tps_ns_status = null; end_patient_queue.tps_update_by = Program.CurrentUser.mut_username; end_patient_queue.tps_update_date = dateNow; } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } cdc.SubmitChanges(); cdc.Transaction.Commit(); messegeSend = new Class.FunctionDataCls().getStringGotoNextRoom(tpr_id); return(StatusTransaction.True); } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("SendManaulCls", "SendToRoom", ex, false); return(StatusTransaction.Error); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { Program.MessageError("SendManaulCls", "SendToRoom", ex, false); return(StatusTransaction.Error); } }
private void btnSendAuto_Click(object sender, EventArgs e) { DisableBtnAll(); DateTime startDate = DateTime.Now; this.AutoScrollPosition = new Point(0, 0); Class.FunctionDataCls func = new Class.FunctionDataCls(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); try { if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AfterStation) { List <int> mvt = mst.GetMstRoomEventByMrm(Program.CurrentRoom.mrm_id).Select(x => x.mvt_id).ToList(); Class.FunctionDataCls.sendQueueStatus result = func.sendQueueUltrasoundLower(resultUltrasound, mvt); if (result == Class.FunctionDataCls.sendQueueStatus.error) { lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถส่งไป ultrasound ได้ กรุณาติดต่อผู้ดูแลระบบ"; StatusWK(); } else if (result == Class.FunctionDataCls.sendQueueStatus.sendSuccess) { new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Text = func.GetStrSaveAndSend((int)tpr_id, "US", "UL"); StatusEmptyRoom(); this.tpr_id = null; } } else { if (new Class.FunctionDataCls().ChkSendAutoNewModule(Program.CurrentRegis)) { string msgAlert = ""; bool isPopup = false; QueueClass.SendAutoCls.ResultSendQueue result = new QueueClass.SendAutoCls().SendAuto((int)tps_id, user, ref msgAlert, ref isPopup); if (result == QueueClass.SendAutoCls.ResultSendQueue.Error) { lbAlertMsg.Text = msgAlert; StatusWK(); } else { lbAlertMsg.Visible = true; if (result == QueueClass.SendAutoCls.ResultSendQueue.SendComplete) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); new Class.ReserveSkipCls().SendAndReserve(tpr_id); StatusEmptyRoom(); this.tpr_id = null; if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } else { if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } } } else { StatusTransaction result = CallQueue.SendAutoOnStation(); if (result == StatusTransaction.True || result == StatusTransaction.SendCheckB) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Visible = true; new Class.ReserveSkipCls().SendAndReserve(tpr_id); lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); this.tpr_id = null; } else if (result == StatusTransaction.Error) { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง"; StatusWK(); } else if (result == StatusTransaction.False) { lbAlertMsg.Text = "Save Data Complete."; StatusWK(); } } } } catch (Exception ex) { lbAlertMsg.Text = ex.Message; StatusWK(); } frmbg.Close(); }
private void btnSendAuto_Click(object sender, EventArgs e) { DisableBtnAll(); DateTime startDate = DateTime.Now; this.AutoScrollPosition = new Point(0, 0); List <int> mvt_id = new List <int>(); if (uu.enable && uu.visible && uu.check && uu.autoCheck) { mvt_id.Add(uu.mvt_id); } if (ul.enable && ul.visible && ul.check && ul.autoCheck) { mvt_id.Add(ul.mvt_id); } if (ub.enable && ub.visible && ub.check && ub.autoCheck) { mvt_id.Add(ub.mvt_id); } if (uw.enable && uw.visible && uw.check && uw.autoCheck) { mvt_id.Add(uw.mvt_id); } if (mvt_id.Count() == 0) { lbAlertMsg.Text = "กรุณาเลือก Order ที่ต้องการตรวจเพิ่มอย่างน้อย 1 รายการ"; StatusWK(); } else { if (CheckMinLower()) { if (SkipLower()) { Class.FunctionDataCls func = new Class.FunctionDataCls(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); try { if (new Class.FunctionDataCls().ChkSendAutoNewModule(Program.CurrentRegis)) { string msgAlert = ""; bool isPopup = false; QueueClass.SendAutoCls.ResultSendQueue result = new QueueClass.SendAutoCls().SendAuto((int)tps_id, mvt_id, user, ref msgAlert, ref isPopup); if (result == QueueClass.SendAutoCls.ResultSendQueue.Error) { lbAlertMsg.Text = msgAlert; StatusWK(); } else if (result == QueueClass.SendAutoCls.ResultSendQueue.OldRoom) { lbAlertMsg.Text = msgAlert; StatusWK(); } else { lbAlertMsg.Visible = true; if (result == QueueClass.SendAutoCls.ResultSendQueue.SendComplete) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); new Class.ReserveSkipCls().SendAndReserve(tpr_id); StatusEmptyRoom(); this.tpr_id = null; if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } else { if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } } //using (Service.WS_Checkup ws = new Service.WS_Checkup()) //{ // WS_PathWay.SendAutoResult result = ws.SendAuto((int)tps_id, mvt_id.ToArray(), user.mut_username, Program.CurrentSite.mhs_id); // if (result.SendResult == WS_PathWay.Result.Error) // { // lbAlertMsg.Text = result.AlertMsg; // StatusWK(); // } // else // { // if (result.SendResult == WS_PathWay.Result.Complete) // { // new ClsTCPClient().sendClearUnitDisplay(); // new Class.ReserveSkipCls().SendAndReserve(tpr_id); // StatusEmptyRoom(); // this.tpr_id = null; // lbAlertMsg.Text = result.AlertMsg; // } // else // { // lbAlertMsg.Text = result.AlertMsg; // StatusWK(); // } // } //} } else { StatusTransaction result = CallQueue.SendAutoOnStation(mvt_id); if (result == StatusTransaction.True || result == StatusTransaction.SendCheckB) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Visible = true; new Class.ReserveSkipCls().SendAndReserve(tpr_id); lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); this.tpr_id = null; } else if (result == StatusTransaction.Error) { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง"; StatusWK(); } else if (result == StatusTransaction.False) { lbAlertMsg.Text = "Save Data Complete."; StatusWK(); } } } catch (Exception ex) { lbAlertMsg.Text = ex.Message; StatusWK(); } finally { frmbg.Close(); } } else { StatusWK(); } } else { StatusWK(); } } }
private void DGV_Waiting_CellContentClick(object sender, DataGridViewCellEventArgs e) { DataGridView dgv = (DataGridView)sender; if (dgv.Columns[e.ColumnIndex].Name == "colBtnCancelQueue") { sp_get_waiting_room_hdrResult data = (sp_get_waiting_room_hdrResult)dgv.Rows[e.RowIndex].DataBoundItem; if (checkStatusCanSend((int)data.tps_id)) { Class.FunctionDataCls func = new Class.FunctionDataCls(); if (func.checkPassedCheckPointB((int)data.tpr_id)) { frmCancelQueue frmCancelQueue = new frmCancelQueue((int)data.tpr_id, (int)data.mvt_id, mrm_id, mhs_id, (int)data.tps_id, false, frmCancelQueue.useform.onWaiting); if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.OK) { string alert = func.getStringGotoNextRoom((int)data.tpr_id); MessageBox.Show(alert); _OnCompleteAction(false); new Class.ReserveSkipCls().SendAndReserve((int)data.tpr_id); return; } else if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.Cancel) { _OnCompleteAction(true); return; } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่ดำเนินการ skip ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } } else if (((DataGridView)sender).Columns[e.ColumnIndex].Name == "colSendToCheckB") { sp_get_waiting_room_hdrResult data = (sp_get_waiting_room_hdrResult)dgv.Rows[e.RowIndex].DataBoundItem; if (checkStatusCanSend((int)data.tps_id)) { DialogResult result = MessageBox.Show("คุณต้องการส่ง คนไข้ไปยัง Check Point B หรือไม่?", "Alert.", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { Class.SendToCheckBCls sendB = new Class.SendToCheckBCls(); StatusTransaction complete = sendB.SendToCheckBOnWaiting((int)data.tpr_id, (int)mrm_id); if (complete == StatusTransaction.True) { MessageBox.Show("Sent To Checkpoint B Complete.", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(false); } else if (complete == StatusTransaction.NoProcess) { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } else if (complete == StatusTransaction.Error) { MessageBox.Show("ระบบเกิดความผิดพลาดไม่สามารถส่งไปยัง checkpoin B ได้ กรุณาทำอีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } } }
public StatusTransaction sendCallUnitDisplay(int tpr_id, int mhs_id, int mrd_id, int mvt_id) { try { string ipAddress = ""; string stringPort = ""; StatusTransaction getIp = getConfigMessage(ref ipAddress, mhs_id, "IUD"); StatusTransaction getPort = getConfigMessage(ref stringPort, mhs_id, "PUD"); int port = Convert.ToInt32(stringPort); double loopConfig = 0; StatusTransaction getLoopConfig = getConfigMessage(ref loopConfig, mhs_id, "RDQ"); int loop = 0; if (loopConfig != 0) { try { loop = Convert.ToInt32(loopConfig); } catch (Exception ex) { Program.MessageError("ClsTCPClient", "sendCallUnitDisplay", ex, false); } } if (getIp == StatusTransaction.True && getPort == StatusTransaction.True) { if (!string.IsNullOrEmpty(ipAddress) && !string.IsNullOrEmpty(stringPort)) { ipAddress = ipAddress.Replace(@"\\", ""); using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); List <string> list_temp_message = new List <string>(); StatusTransaction getMessage = getMessageUnitDisplay(mhs_id, mrd_id, mvt_id, ref list_temp_message); foreach (string message in list_temp_message) { string msg = tpr.trn_patient.tpt_nation_code + message + tpr.tpr_queue_no; if (loop == 0) { sendMessageTCPServer(msg); } else { sendMessageTCPServer(msg, loop); } } return(StatusTransaction.True); //if (getMessage == StatusTransaction.True) //{ // List<string> list_message = new List<string>(); // foreach (string msg in list_temp_message) // { // list_message.Add(tpr.trn_patient.tpt_nation_code + msg + tpr.tpr_queue_no); // } // return sendMessageToUnitDisplay(ipAddress, port, list_message); //} //else //{ // return StatusTransaction.Error; //} } } else { return(StatusTransaction.Error); } } else { return(StatusTransaction.Error); } } catch (Exception ex) { Program.MessageError("ClsTCPClient", "sendCallUnitDisplay", ex, false); return(StatusTransaction.Error); } }
/// <summary>sends STATUS command</summary> /// <remarks>valid in authenticated state</remarks> private ImapCommandResult StatusInternal(string mailboxName, ImapStatusDataItem statusDataItem, out ImapStatusAttributeList statusAttributes, out ImapMailbox statusMailbox) { RejectNonAuthenticatedState(); RejectInvalidMailboxNameArgument(mailboxName); if (statusDataItem == null) throw new ArgumentNullException("statusDataItem"); /* * 6.3.10. STATUS Command * * Note: The STATUS command is intended to access the * status of mailboxes other than the currently selected * mailbox. Because the STATUS command can cause the * mailbox to be opened internally, and because this * information is available by other means on the selected * mailbox, the STATUS command SHOULD NOT be used on the * currently selected mailbox. */ var existStatusMailbox = mailboxManager.GetExist(mailboxName); if (existStatusMailbox != null) { if (existStatusMailbox == selectedMailbox) throw new ImapProtocolViolationException("the STATUS command SHOULD NOT be used on the currently selected mailbox"); if (existStatusMailbox.IsUnselectable) throw new ImapProtocolViolationException("the STATUS command SHOULD NOT be used on the mailbox that has \\Noselect or \\NonExistent attribute"); } statusAttributes = null; statusMailbox = null; using (var t = new StatusTransaction(connection)) { // mailbox name t.RequestArguments["mailbox name"] = new ImapMailboxNameString(mailboxName); // status data item names t.RequestArguments["status data item names"] = statusDataItem; if (ProcessTransaction(t).Succeeded) { statusMailbox = mailboxManager.GetExistOrCreate(mailboxName); statusAttributes = t.Result.Value; statusMailbox.UpdateStatus(statusAttributes); } else { ProcessMailboxRefferalResponse(t.Result.TaggedStatusResponse); } return t.Result; } }