Example #1
0
        protected void bookingController(object sender, EventArgs e)
        {
            bookingErrorHandler bookingHandler = new bookingErrorHandler();
            int  intTest;
            bool tryInt = int.TryParse(createBooking.Text, out intTest);

            if (createBooking.Text == "")
            {
                bookingHandler.emptyTourID();
            }
            else if (tryInt == false)
            {
                bookingHandler.invalidTourID();
            }

            if (bookingHandler.error == "")
            {
                int  tourID     = int.Parse(createBooking.Text);
                tour targetTour = fetchTourObject(tourID);

                if (targetTour != null)
                {
                    if (targetTour.getStatus() == "closed")
                    {
                        bookingHandler.tourClosed();
                    }

                    if (targetTour.getStatus() == "suspended")
                    {
                        bookingHandler.tourSuspended();
                    }

                    if (targetTour.getCapacity() < 1)
                    {
                        bookingHandler.fullyBooked();
                    }

                    if (bookingHandler.error == "")
                    {
                        int currCapacity = targetTour.getCapacity() - 1;
                        targetTour.setCapacity(currCapacity);
                        targetTour.modifyTour();
                        booking newBooking = new booking(currUser.getUserID(), tourID);
                        newBooking.createBooking();
                        general_dialog.Visible = false;
                        Response.Redirect("main.aspx");
                    }

                    else
                    {
                        general_dialog.InnerHtml = bookingHandler.error;
                        general_dialog.Visible   = true;
                    }
                }

                else
                {
                    bookingHandler.invalidTourID();
                    general_dialog.InnerHtml = bookingHandler.error;
                    general_dialog.Visible   = true;
                }
            }
            else
            {
                general_dialog.InnerHtml = bookingHandler.error;
                general_dialog.Visible   = true;
            }
        }