コード例 #1
0
        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");
        }
コード例 #2
0
        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);
            }
        }