Ex: Web Based Token System
1. Add a new Web Form "Bank.aspx"
2. Source Code "Bank.aspx.cs"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SpeechLib;
using System.Threading;
namespace BankTokenSystemWeb
{
public partial class Bank : System.Web.UI.Page
{
public void Voice()
{
SpVoice spk = new SpVoice();
spk.Speak(lblScreen.Text);
}
protected void Page_Load(object sender, EventArgs e)
{
if (Session["TokenQueue"] == null)
{
Queue<int> queueTokens = new Queue<int>();
Session["TokenQueue"] = queueTokens;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Queue<int> tokenQueue = (Queue<int>)Session["TokenQueue"];
if (Session["LstTokenNumberIssued"] == null)
{
Session["LstTokenNumberIssued"] = 0;
}
int NextTokeTobeIssued = (int)Session["LstTokenNumberIssued"] + 1;
Session["LstTokenNumberIssued"] = NextTokeTobeIssued;
tokenQueue.Enqueue(NextTokeTobeIssued);
AddTokenToListBox(tokenQueue);
}
private void AddTokenToListBox(Queue<int> tokenQueue)
{
lstToken.Items.Clear();
foreach (int token in tokenQueue)
{
lstToken.Items.Add(token.ToString());
}
}
private void ServeNextCustomer(TextBox textbox, int counterNumber)
{
Queue<int> tokenQueue = (Queue<int>)Session["TokenQueue"];
if (tokenQueue.Count == 0)
{
textbox.Text = "No customers in queue";
}
else
{
int tokenTobeServed = tokenQueue.Dequeue();
textbox.Text = tokenTobeServed.ToString();
lblScreen.Text = "Token Number " + tokenTobeServed.ToString() + "Go To Counter Number" + counterNumber.ToString();
Voice();
AddTokenToListBox(tokenQueue);
}
}
protected void Counter1Next_Click(object sender, EventArgs e)
{
ServeNextCustomer(txtCounter1, 1);
}
protected void Counter2Next_Click(object sender, EventArgs e)
{
ServeNextCustomer(txtCounter2, 2);
}
protected void Counter3Next_Click(object sender, EventArgs e)
{
ServeNextCustomer(txtCounter3, 3);
}
}
}