/* Interrupt to be called every sec to update on screen time */ private void timerTickEvent(object sender, EventArgs e) { bool rxFlag = false; string rxMessage = null; SerialConnect scObj = new SerialConnect(); lCurrentTime.Text = DateTime.Now.ToString("ddd, MMM-dd-yyyy \nHH:mm:ss"); rxFlag = scObj.getIntrFlag(); if (rxFlag) { rxFlag = false; scObj.setrxFlag(rxFlag); rxMessage = scObj.getRxMessage(); getDataFromMessage(rxMessage); // decode received message getCount_Prefix(rxCountTemp); updateTokenTable(); //MessageBox.Show("Prefix: " + rxPrefix.ToString() + ", Count: " + rxCount); // MessageBox.Show("Message Received: " + rxMessage.Length.ToString()); } if (++tickCountForMessageClear > 200) { tickCountForMessageClear = 0; GenerateTokenSuccMessage.Text = ackMessage; } }
/* This funtion is called on button click to generate new token number * It insert new token generated in Token table */ private void btnGenrateTicket_Click(object sender, EventArgs e) { string temp_token; Button getServiceBtn = sender as Button; //String serviceSel = sender.ToString(); String serviceSel = getServiceBtn.Text; //MessageBox.Show("Btn: " + serviceSel); // string serviceSel = cbChooseService.SelectedItem.ToString(); string serviceId = null; string strToken = null; int ticketStart = 0, ticketEnd = 0, tokenLocal, numOfServices = 0; SerialConnect serialConnectObj = new SerialConnect(); portConnectStatus = serialConnectObj.checkPortConnectionStatus(); numOfServices = uniqueServices.Count; //serviceId = "* 02 01 B001 #"; //getDataFromMessage(serviceId); // for testing purpose line 31. and 309 was used //MessageBox.Show("Line 314: " + uniqueServices.Count.ToString()); if (serviceType) { numOfServices = uniqueServices.Count; //MessageBox.Show("Line 314: "+uniqueServices.Count.ToString()); for (int i = 0; i < numOfServices; i++) { // Get Service id and ticket start and ticket end if (serviceSel == uniqueServices[i].ToString()) { //MessageBox.Show("Serve: " + serviceSel); //serviceId = dtTicketService.Rows[i]["Queue Prefix"].ToString(); //ticketStart = Convert.ToInt16(dtTicketService.Rows[i]["Ticket Start"].ToString()); //ticketEnd = Convert.ToInt16(dtTicketService.Rows[i]["Ticket End"].ToString()); serviceId = uniqueServices[i].ToString(); ticketStart = Convert.ToInt16(uniqueTicketStart[i].ToString()); ticketEnd = Convert.ToInt16(uniqueTicketEnd[i].ToString()); // MessageBox.Show("Service = " + serviceId.ToString() + "Tic Start = " + ticketStart.ToString() // + "Ticend = " + ticketEnd.ToString()); tokenLocal = Convert.ToInt16(tokenCount[i].ToString()); if (tokenLocal > ticketEnd || tokenLocal < ticketStart) { tokenLocal = ticketStart; } else { ++tokenLocal; } tokenCount[i] = tokenLocal; temp_token = tokenCount[i].ToString(); int temp_len = temp_token.Length;// get number of digits in count value if (temp_len < 3) { strToken = tokenDigitAdjust(tokenCount[i], temp_len, uniquePrefix[i].ToString()); // return count along with prefix and adjusted digits of token number //MessageBox.Show("Line349: " + strToken+" len "+temp_len.ToString()); putTokenInTable(tokenCount[i].ToString(), uniquePrefix[i].ToString(), uniqueServices[i].ToString()); } else { strToken = uniquePrefix[i].ToString() + tokenCount[i].ToString(); //MessageBox.Show("Line355: " + strToken + " len " + temp_len.ToString()); putTokenInTable(tokenCount[i].ToString(), uniquePrefix[i].ToString(), uniqueServices[i].ToString()); } //MessageBox.Show("Token " + strToken); //test to show token number in alert box //tempText = "Thank You for choosing Services\nYour token number is " + strToken; //tempText += " Your Token Status is Waiting "; //GenerateTokenSuccMessage.Text = tempText; //Ticket_Design tdObj = new Ticket_Design(); //tdObj.setOperationName(serviceSel); //tdObj.setTokenValue(strToken); //tdObj.print(); } } }// Multiple services token genrate ends here else if (!serviceType) // Single service mode { uniquePrefix[0] = "0"; ticketStart = Convert.ToInt16(uniqueTicketStart[0].ToString()); ticketEnd = Convert.ToInt16(uniqueTicketEnd[0].ToString()); tokenLocal = Convert.ToInt16(tokenCount[0].ToString()); if (tokenLocal > ticketEnd || tokenLocal < ticketStart) { tokenLocal = ticketStart; } else { ++tokenLocal; } tokenCount[0] = tokenLocal; temp_token = tokenCount[0].ToString(); for (int i = 0; i < numOfServices; i++) { // Get Service id and ticket start and ticket end if (serviceSel == uniqueServices[i].ToString()) { int temp_len = temp_token.Length;// get number of digits in count value if (temp_len < 3) { strToken = tokenDigitAdjust(tokenCount[0], temp_len, uniquePrefix[0].ToString()); // return count along with prefix and adjusted digits of token number putTokenInTable(strToken, uniquePrefix[0].ToString(), uniqueServices[i].ToString()); } else { strToken = uniquePrefix[0].ToString() + tokenCount[0].ToString(); putTokenInTable(tokenCount[0].ToString(), uniquePrefix[0].ToString(), uniqueServices[i].ToString()); } } } } PrintToken(strToken, serviceSel); //prints thanks message on screen // along with token number. and prints ticket }