private void refresh_consultation_data(bool isNewCons) { Dictionary <String, String> consData; if (isNewCons) { consData = consMgr.startConsultation(int.Parse(textBox_patId.Text)); } else { consData = consMgr.getConsultation(int.Parse(consId)); } consId = consData["cons_id"]; textBox_startDtm.Text = consData["first_record_dtm"]; textBox_lastUpdateDtm.Text = consData["last_update_dtm"]; dateTimePicker_sickLeaveStart.Value = DateTime.ParseExact(textBox_startDtm.Text.Substring(0, textBox_lastUpdateDtm.Text.IndexOf(' ')), "dd/MM/yyyy", null); dateTimePicker_sickLeaveStart.MinDate = DateTime.ParseExact(textBox_startDtm.Text.Substring(0, textBox_lastUpdateDtm.Text.IndexOf(' ')), "dd/MM/yyyy", null); dateTimePicker_sickLeaveEnd.MinDate = dateTimePicker_sickLeaveStart.Value; dateTimePicker_sickLeaveEnd.Value = DateTime.Today; dateTimePicker_edc.Value = DateTime.Today; isFinished = consData["isFinished"]; String[] code; String[] desc; examination.Clear(); code = consData["ex_code"].Split(new String[] { "||" }, StringSplitOptions.None); desc = consData["ex_desc"].Split(new String[] { "; " }, StringSplitOptions.None); for (int i = 0; i < code.Length; i++) { if (desc[i] != "" && code[i] != "") { examination.Add(new PermissibleValueObj(desc[i], code[i])); } } textBox_exam.Text = permissibleValueObjListNameToString(examination); differentiation.Clear(); code = consData["diff_code"].Split(new String[] { "||" }, StringSplitOptions.None); desc = consData["diff_desc"].Split(new String[] { "; " }, StringSplitOptions.None); for (int i = 0; i < code.Length; i++) { if (desc[i] != "" && code[i] != "") { differentiation.Add(new PermissibleValueObj(desc[i], code[i])); } } textBox_diff.Text = permissibleValueObjListNameToString(differentiation); diagnosis.Clear(); code = consData["dx_code"].Split(new String[] { "||" }, StringSplitOptions.None); desc = consData["dx_desc"].Split(new String[] { "; " }, StringSplitOptions.None); for (int i = 0; i < code.Length; i++) { if (desc[i] != "" && code[i] != "") { diagnosis.Add(new PermissibleValueObj(desc[i], code[i])); } } textBox_dx.Text = permissibleValueObjListNameToString(diagnosis); comboBox_presId.Items.Clear(); code = consData["pres_id"].Split(new String[] { "||" }, StringSplitOptions.None); for (int i = 0; i < code.Length; i++) { if (code[i] != "") { comboBox_presId.Items.Add(new PermissibleValueObj(code[i], code[i])); } } if (comboBox_presId.Items.Count > 0) { comboBox_presId.SelectedIndex = 0; } drRmk.Clear(); drRmk.Add(new PermissibleValueObj(consData["dr_rmk"], consData["dr_rmk"])); textBox_drRmk.Text = drRmk[0].Value; if (isFinished == "0") { groupBox_sickLeaveCert.Enabled = false; button_consCert.Enabled = false; groupBox_pregCert.Enabled = false; button_medRec.Enabled = false; button_change_exam.Enabled = true; button_change_diff.Enabled = true; button_change_dx.Enabled = true; button_change_pres.Enabled = true; button_delPres.Enabled = true; button_add_pres.Enabled = true; button_change_drRmk.Enabled = true; button_tmpSave.Enabled = true; button_finalSave.Enabled = true; button_conLater.Enabled = true; button_finish.Enabled = false; button_use_previous.Enabled = true; checkBox_pat_isPregnant.Enabled = true; } else if (isFinished == "1") { groupBox_sickLeaveCert.Enabled = true; button_consCert.Enabled = true; groupBox_pregCert.Enabled = true; checkBox_preg_edc.Enabled = checkBox_pat_isPregnant.Checked; dateTimePicker_edc.Enabled = checkBox_pat_isPregnant.Checked; button_medRec.Enabled = true; button_change_exam.Enabled = true; button_change_diff.Enabled = true; button_change_dx.Enabled = true; button_change_pres.Enabled = true; button_delPres.Enabled = true; button_add_pres.Enabled = true; button_change_drRmk.Enabled = true; button_tmpSave.Enabled = false; button_finalSave.Enabled = true; button_conLater.Enabled = false; button_finish.Enabled = true; button_use_previous.Enabled = true; checkBox_pat_isPregnant.Enabled = true; } else { MessageBox.Show("資料狀態錯誤!", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }