コード例 #1
0
        private void displayCart()
        {
            divReservationsBody.Visible = false;
            divCartBody.Visible = true;
            divCart.InnerHtml = "";
            double totalVacationPrice = 0;
            lblTotalPrice.Text = "";
            if (Session["VacationPackage"] != null)
            {
                VacationPackage vacation = (VacationPackage)Session["VacationPackage"];

                divCart.InnerHtml += "<div class='page-header'><h3>Cars</h3></div><div class='row' style='text-align: center;'>";
                for (int i = 0; i < vacation.cars.Count; i++)
                {
                    CarServiceRef.Car currCar = vacation.cars[i];
                    totalVacationPrice += (Convert.ToDouble(currCar.price) * vacation.carsQuantity[i]);
                    divCart.InnerHtml += "<div class='col-md-3'><div class='panel panel-default'><div class='panel-body'><h4>";
                    divCart.InnerHtml += currCar.year + " ";
                    divCart.InnerHtml += currCar.make + " ";
                    divCart.InnerHtml += currCar.model + "</h4><p>";
                    divCart.InnerHtml += "Seats: " + currCar.passengers + "<br />";
                    divCart.InnerHtml += "GPS available: " + currCar.gps + "<br />";
                    divCart.InnerHtml += "Bags: " + currCar.luggage + "<br />";
                    divCart.InnerHtml += "Price: $" + currCar.price + "<br />";
                    divCart.InnerHtml += "Mileage: " + currCar.mileage + "</p>";
                    divCart.InnerHtml += "<br />Quantity: <input type='number' class='form-control' id='cartCar" + currCar.carID + "' name='cartCar" + currCar.carID + "' value='" + vacation.carsQuantity[i] + "'></div></div></div>";
                }

                divCart.InnerHtml += "</div><div class='page-header'><h3>Vacations</h3></div><div class='row' style='text-align: center;'>";
                for (int i = 0; i < vacation.events.Count; i++)
                {
                    EventServiceRef.Event currEvent = vacation.events[i];
                    totalVacationPrice += (currEvent.Price * vacation.eventsQuantity[i]);
                    divCart.InnerHtml += "<div class='col-md-3'><div class='panel panel-default'><div class='panel-body'><h4>";
                    divCart.InnerHtml += currEvent.Name + " <small>";
                    divCart.InnerHtml += currEvent.City + ", " + currEvent.State + "</small></h4><p>";
                    divCart.InnerHtml += currEvent.Time + ", " + currEvent.Day + "<br />";
                    divCart.InnerHtml += "Type: " + currEvent.Type + "<br />";
                    divCart.InnerHtml += "Price: $" + currEvent.Price + "</p>";
                    divCart.InnerHtml += "<br />Quantity: <input type='number' class='form-control' id='cartEvent" + currEvent.ID + "' name='cartEvent" + currEvent.ID + "' value='" + vacation.eventsQuantity[i] + "'></div></div></div>";
                }

                divCart.InnerHtml += "</div><div class='page-header'><h3>Rooms</h3></div><div class='row' style='text-align: center;'>";
                for (int i = 0; i < vacation.rooms.Count; i++)
                {
                    HotelServiceRef.Room currRooms = vacation.rooms[i];
                    totalVacationPrice += (currRooms.Price * vacation.roomsQuantity[i]);
                    divCart.InnerHtml += "<div class='col-md-3'><div class='panel panel-default'><div class='panel-body'><h4>";
                    divCart.InnerHtml += txtHotelCity.Text + ", " + ddlHotelState.SelectedItem.Text + "</small></h4><p>";
                    divCart.InnerHtml += "Price: $" + currRooms.Price + "</p>";
                    divCart.InnerHtml += "<br />Quantity: <input type='number' class='form-control' id='cartRooms" + currRooms.RoomID + "' name='cartRooms" + currRooms.RoomID + "' value='" + vacation.roomsQuantity[i] + "'></div></div></div>";
                }

                divCart.InnerHtml += "</div><div class='page-header'><h3>Flights</h3></div><div class='row' style='text-align: center;'>";
                for (int i = 0; i < vacation.flights.Count; i++)
                {
                    Flight currFlight = vacation.flights[i];
                    totalVacationPrice += (currFlight.price * vacation.flightsQuantity[i]);
                    divCart.InnerHtml += "<div class='col-md-3'><div class='panel panel-default'><div class='panel-body'><h4>";
                    divCart.InnerHtml += txtFlightDepCity.Text + ", " + ddlFlightDepState.SelectedItem.Text + "</small></h4><p>";
                    divCart.InnerHtml += "Price: $" + currFlight.price + "</p>";
                    divCart.InnerHtml += "<br />Quantity: <input type='number' class='form-control' id='cartFlights" + currFlight.carrierID + "' name='cartFlights" + currFlight.flightID + "' value='" + vacation.flightsQuantity[i] + "'></div></div></div>";
                }

                divCart.InnerHtml += "</div>";

                lblTotalPrice.Text += "Total Price: $" + totalVacationPrice.ToString();

            }
        }
コード例 #2
0
        protected void btnCheckout_Click(object sender, EventArgs e)
        {
            if (Session["VacationPackage"] != null)
            {
                VacationPackage vacation = (VacationPackage)Session["VacationPackage"];

                SqlCommand objCommand = new SqlCommand();
                objCommand.CommandType = CommandType.StoredProcedure;
                objCommand.CommandText = "GetUser";
                objCommand.Parameters.AddWithValue("@email", Session["UserName"]);
                DBConnect objDB = new DBConnect();
                DataSet myDS = objDB.GetDataSetUsingCmdObj(objCommand);
                DataRow user = myDS.Tables[0].Rows[0];

                CarServiceRef.Customer carCustomer = new CarServiceRef.Customer();
                carCustomer.customerID = (int)user["UserID"];
                carCustomer.firstName = (string)user["firstName"];
                carCustomer.lastName = (string)user["lastName"];
                carCustomer.email = (string)user["email"];
                carCustomer.address = "";
                carCustomer.age = 0;
                carCustomer.phoneNumber = "";

                EventServiceRef.Customer eventCustomer = new EventServiceRef.Customer();
                eventCustomer.ID = (int)user["UserID"];
                eventCustomer.CustomerFirstName = (string)user["firstName"];
                eventCustomer.CustomerLastName = (string)user["lastName"];
                eventCustomer.CustomerEmail = (string)user["email"];
                eventCustomer.CustomerPhone = "";

                HotelServiceRef.Customer hotelCustomer = new HotelServiceRef.Customer();
                hotelCustomer.CustID = (int)user["UserID"];
                hotelCustomer.FirstName = (string)user["firstName"];
                hotelCustomer.LastName = (string)user["lastName"];
                hotelCustomer.Address = (string)user["email"];

                CarServiceRef.CarService carService = new CarServiceRef.CarService();
                EventServiceRef.EventService eventService = new EventServiceRef.EventService();
                HotelServiceRef.HotelService hotelService = new HotelServiceRef.HotelService();
                AirServiceRef.AirService airService = new AirServiceRef.AirService();
                string emailBody = "<h1>You have reserved</h1>";
                emailBody += "<h2>Cars</h2>";
                bool reservedCars = true;
                for (int i = 0; i < vacation.cars.Count; i++)
                {
                    CarServiceRef.Car currCar = vacation.cars[i];
                    if (!carService.Reserve(carCustomer, currCar))
                    {
                        reservedCars = false;
                    }
                    else
                    {
                        emailBody += "<p>" + currCar.year + " " + currCar.make + " " + currCar.model + " ($" + currCar.price + ")</p>";
                    }
                }

                emailBody += "<h2>Events</h2>";
                bool reservedEvents = true;
                for (int i = 0; i < vacation.events.Count; i++)
                {
                    EventServiceRef.Event currEvent = vacation.events[i];
                    if (!eventService.Reserve(currEvent, eventCustomer))
                    {
                        reservedEvents = false;
                    }
                    else
                    {
                        emailBody += "<p>" + currEvent.Name + " ($" + currEvent.Price + ")</p>";
                    }
                }

                emailBody += "<h2>Hotels</h2>";
                bool reservedHotels = true;
                for (int i = 0; i < vacation.rooms.Count; i++)
                {
                    HotelServiceRef.Room currRoom = vacation.rooms[i];
                    if (!hotelService.Reserve(currRoom, hotelCustomer))
                    {
                        reservedHotels = false;
                    }
                    else
                    {
                        emailBody += "<p>" + currRoom.RoomNumber + " ($" + currRoom.Price + ")</p>";
                    }
                }

                emailBody += "<h2>Flights</h2>";
                bool reservedFlights = true;
                for (int i = 0; i < vacation.flights.Count; i++)
                {
                    Flight currFlight = vacation.flights[i];

                    emailBody += "<p>" + currFlight.carrierName + " ($" + currFlight.price + ") could not be reserved because the AirService does not accept reservations</p>";
                }

                emailBody += "<br><br><p>Thank you,<br>Vacation-O-City Team</p>";

                if (reservedCars)
                {
                    vacation.cars.Clear();
                    vacation.carsQuantity.Clear();
                }

                if (reservedEvents)
                {
                    vacation.events.Clear();
                    vacation.eventsQuantity.Clear();
                }

                if (reservedHotels)
                {
                    vacation.events.Clear();
                    vacation.roomsQuantity.Clear();
                }

                if (reservedFlights)
                {
                    vacation.flights.Clear();
                    vacation.flightsQuantity.Clear();
                }

                Email emailSender = new Email();
                emailSender.SendMail((string)Session["UserName"], "*****@*****.**", "Reservation Confirmation", emailBody, "*****@*****.**");

                clearCartCount();

                Session["VacationPackage"] = vacation;
                vacation = (VacationPackage)Session["VacationPackage"];
                Serialize objSerialize = new Serialize();
                objSerialize.WriteCartToDB(vacation, Session["UserName"]);
            }

            displayCart();
        }