protected void SubmitButton_Click(object sender, EventArgs e)
        {
            try
            {
                int amountPersons = int.Parse(Page.GetTempData("amountPersons").ToString());
                DateTime startDate = DateTime.Parse(Page.GetTempData("arrivalDate").ToString());
                int amountNights = int.Parse(Page.GetTempData("amountNights").ToString());
                DateTime endDate = startDate.AddDays(amountNights);

                // hämta valda rum från sessionsvariabel
                List<int> selRooms = Page.GetTempData("selectedRooms") as List<int>;

                // skapa nytt booking objekt och skicka det till SaveBooking
                Booking booking = new Booking();

                // om sessionsvariabel finns
                if (Session["bookingId"] != null)
                {
                    // hämta boookingId från sessionsvariabel och tilldela objektet egenskapen bookingId
                    int bookingId = int.Parse(Page.GetAndKeepTempData("bookingId").ToString());
                    booking.BookingID = bookingId;
                }

                booking.AmountPersons = amountPersons;
                Service.SaveBooking(booking);

                // skapa nytt BookedRoom objekt och skicka det till SaveBookedRoom
                BookedRoom bookedRoom = new BookedRoom();
                bookedRoom.BookingID = booking.BookingID;
                bookedRoom.StartDate = startDate;
                bookedRoom.EndDate = endDate;

                foreach (int id in selRooms)
                {
                    bookedRoom.RoomID = id;
                    Service.SaveBookedRoom(bookedRoom);
                }

                // om det finns bookingId i session skicka tillbaka till Change booking
                if (Session["bookingId"] != null)
                {
                    Page.SetTempData("SuccessMessage", "The room was added successfully.");
                    int bookingId = int.Parse(Page.GetTempData("bookingId").ToString());
                    Response.RedirectToRoute("BookingChange", new { id = bookingId });
                    Context.ApplicationInstance.CompleteRequest();
                }

                // annars till bokningslistan
                else
                {
                    Page.SetTempData("SuccessMessage", "The Booking was made successfully.");
                    Response.RedirectToRoute("Default", null);
                    Context.ApplicationInstance.CompleteRequest();
                }

            }
            catch (Exception)
            {
                ModelState.AddModelError(String.Empty, "Error while making a booking");
            }
        }
        public void SaveBooking(Booking booking)
        {
            // Uppfyller inte objektet affärsreglerna...
            ICollection<ValidationResult> validationResults;
            if (!booking.Validate(out validationResults)) // Använder "extension method" för valideringen!
            {                                              // Klassen finns under App_Infrastructure.
                // ...kastas ett undantag med ett allmänt felmeddelande samt en referens
                // till samlingen med resultat av valideringen.
                var ex = new ValidationException("Objektet klarade inte valideringen.");
                ex.Data.Add("ValidationResults", validationResults);
                throw ex;
            }

            // Booking-objektet sparas antingen genom att en ny post
            // skapas eller genom att en befintlig post uppdateras.
            if (booking.BookingID == 0) // Ny post om CustomerId är 0!
            {
                BookingDAL.InsertBooking(booking);
            }
            else
            {
                BookingDAL.UpdateBooking(booking);
            }
        }