private void FormTerminal_Load(object sender,EventArgs e) { multInput.IsQuestionnaire=true; labelConnection.Visible=false; TerminalActives.DeleteAllForComputer(Environment.MachineName); TerminalActive terminal=new TerminalActive(); terminal.ComputerName=Environment.MachineName; terminal.TerminalStatus=TerminalStatusEnum.Standby; TerminalActives.Insert(terminal); tabMain.Visible=false; butSubmit.Visible=false; TerminalStatus=TerminalStatusEnum.Standby; }
///<summary>Occurs every 4 seconds. Checks database for status changes.</summary> private void timer1_Tick(object sender,EventArgs e) { TerminalActive terminal; try{ terminal=TerminalActives.GetTerminal(Environment.MachineName); labelConnection.Visible=false; } catch{//SocketException if db connection gets lost. labelConnection.Visible=true; return; } if(terminal==null){ return; } if(terminal.TerminalStatus==TerminalStatus && PatCur!=null && terminal.PatNum==PatCur.PatNum) { return; } //someone changed the status or patient from the terminal manager. TerminalStatus=terminal.TerminalStatus; //set tab visibility tabMain.TabPages.Clear(); if(TerminalStatus==TerminalStatusEnum.UpdateOnly){ tabMain.TabPages.Add(this.tabPage1); } else if(TerminalStatus==TerminalStatusEnum.Standby) { // } else if(TerminalStatus==TerminalStatusEnum.PatientInfo) { tabMain.TabPages.Add(this.tabPage1); } else if(TerminalStatus==TerminalStatusEnum.Medical) { tabMain.TabPages.Add(this.tabPage2); } if(TerminalStatus==TerminalStatusEnum.Standby){//force move to standby (rare) textWelcome.Visible=true; tabMain.Visible=false; butClose.Visible=true; butSubmit.Visible=false; return; } //all the other three types show the tabMain textWelcome.Visible=false; tabMain.Visible=true; butClose.Visible=false; butSubmit.Visible=true; FamCur=Patients.GetFamily(terminal.PatNum); PatCur=FamCur.GetPatient(terminal.PatNum); FillForm(); /*IsChangingTab=true; //this is very common. This is the typical signal to load up a patient. if(TerminalStatus==TerminalStatusEnum.PatientInfo){ tabMain.SelectedIndex=0; } //This is the typical signal to load up a patient who needs to change their existing info. else if(TerminalStatus==TerminalStatusEnum.UpdateOnly) { tabMain.SelectedIndex=0; } //receptionist forces move to medical tab. Rare. else if(TerminalStatus==TerminalStatusEnum.Medical) { tabMain.SelectedIndex=1; } //receptionist forces move to questions tab. Rare. //else if(TerminalStatus==TerminalStatusEnum.Questions) { // tabMain.SelectedIndex=2; //} IsChangingTab=false;*/ }
private void butSubmit_Click(object sender,EventArgs e) { TerminalActive terminal=TerminalActives.GetTerminal(Environment.MachineName); if(TerminalStatus==TerminalStatusEnum.PatientInfo || TerminalStatus==TerminalStatusEnum.UpdateOnly){ try{ SavePtInfo(); } catch(ApplicationException ex){ MessageBox.Show(ex.Message); return; } } if(TerminalStatus==TerminalStatusEnum.PatientInfo){ tabMain.TabPages.Clear(); tabMain.TabPages.Add(this.tabPage2); //IsChangingTab=true; //tabMain.SelectedIndex=1; //IsChangingTab=false; TerminalStatus=TerminalStatusEnum.Medical; terminal.TerminalStatus=TerminalStatusEnum.Medical; TerminalActives.Update(terminal); } else if(TerminalStatus==TerminalStatusEnum.UpdateOnly){ textWelcome.Visible=true; tabMain.Visible=false; butClose.Visible=true; butSubmit.Visible=false; TerminalStatus=TerminalStatusEnum.Standby; terminal.TerminalStatus=TerminalStatusEnum.Standby; terminal.PatNum=0; TerminalActives.Update(terminal); } else if(TerminalStatus==TerminalStatusEnum.Medical){ SaveDiseases(); SaveQuestions(); textWelcome.Visible=true; tabMain.Visible=false; butClose.Visible=true; butSubmit.Visible=false; TerminalStatus=TerminalStatusEnum.Standby; terminal.TerminalStatus=TerminalStatusEnum.Standby; terminal.PatNum=0; TerminalActives.Update(terminal); } }