protected void btn_confirm_Click(object sender, EventArgs e) { //load sessiion queue List <Queue> sessionQueue = DBconnection.viewSessionQueue(session.Id, type); if (sessionQueue.Count != 0) //check if queue contains any members { //check if reservation is same as capacity if (session.Reservations == session.Capacity) { //load the top queue member in to a Reservation object Reservation nextInQ = new Reservation(sessionQueue[0].SessionID, DateTime.Now, sessionQueue[0].UserID, sessionQueue[0].SessionTitle, sessionQueue[0].ReservationDate); DBconnection.reserveSession(nextInQ, type); //add above reservation to a database DBconnection.removeQueue(sessionQueue[0].Id, "ID"); //remove queue member that has been added to a reservation } } else { //if queue does not exists, remove one reservation and update number of session's reservation int reservationsNumber = session.Reservations - 1; DBconnection.updateSessionReservation(type, reservationsNumber, reservation); } DBconnection.deleteRecord("Reservation", reservation.ReservationID, "ID"); Session["message"] = "Your reservation has been cancelled. Thank you"; Response.Redirect("Message.aspx"); }
private void displayWaitingLists(List <Queue> queues) { for (int i = 0; i < queues.Count; i++) { Session session; if (queues[i].SessionType.Equals("Workshop")) { session = DBconnection.getWorkshop(queues[i].SessionID); } else { session = DBconnection.getClass(queues[i].SessionID); } //container div holding each item HtmlGenericControl div = new HtmlGenericControl("div"); listOfreservations.Controls.Add(div); //unordered list HtmlGenericControl ul = new HtmlGenericControl("ul"); div.Controls.Add(ul); //list item displaying session title and cancel button HtmlGenericControl li1 = new HtmlGenericControl("li"); li1.InnerHtml = "<a href='Message.aspx?cnlQ=" + queues[i].Id + "' onclick=\"return confirm('Are you sure you want to delete?')\" ><img src='/images/cancel_btn.png' /></a> <span>" + session.Title + "</span> "; HtmlGenericControl li2 = new HtmlGenericControl("li"); li2.InnerText = "On: " + session.StartDate.Add(session.Time); List <Queue> temp = DBconnection.viewSessionQueue(queues[i].SessionID, queues[i].SessionType); int waitingNo = 0; for (int j = 0; j < temp.Count; j++) { temp[j].WaitingNumber = j + 1; if (temp[j].UserID == userData.Id) { queues[i].WaitingNumber = temp[j].WaitingNumber; } } HtmlGenericControl li3 = new HtmlGenericControl("li"); li3.InnerText = queues[i].WaitingNumber + " on waiting list"; ul.Controls.Add(li1); ul.Controls.Add(li2); ul.Controls.Add(li3); } }