protected void btnTestReserve_Click(object sender, EventArgs e)
        {
            CarServiceRef.Car car = new CarServiceRef.Car();
            CarServiceRef.Customer customer = new CarServiceRef.Customer();

            CarServiceRef.CarService pxy = new CarServiceRef.CarService();
            car.carID = 1;
            bool result = pxy.Reserve(customer, car);
            lblReserveResult.Text = "Reserve method executed: " + result.ToString();
        }
Example #2
0
        protected void btnTestReserve_Click(object sender, EventArgs e)
        {
            CarServiceRef.Car      car      = new CarServiceRef.Car();
            CarServiceRef.Customer customer = new CarServiceRef.Customer();

            CarServiceRef.CarService pxy = new CarServiceRef.CarService();
            car.carID = 1;
            bool result = pxy.Reserve(customer, car);

            lblReserveResult.Text = "Reserve method executed: " + result.ToString();
        }
        protected void rptCars_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            // Retrieve the row index for the item that fired the ItemCommand event
            int rowIndex = e.Item.ItemIndex;

            // Retrieve a value from a control in the Repeater's Items collection
            Label carID = (Label)rptCars.Items[rowIndex].FindControl("lblCarHdnID");
            Label make = (Label)rptCars.Items[rowIndex].FindControl("lblCarMake");
            Label model = (Label)rptCars.Items[rowIndex].FindControl("lblCarModel");
            Label year = (Label)rptCars.Items[rowIndex].FindControl("lblCarYear");
            Label city = (Label)rptCars.Items[rowIndex].FindControl("lblCarCity");
            Label state = (Label)rptCars.Items[rowIndex].FindControl("lblCarState");
            Label price = (Label)rptCars.Items[rowIndex].FindControl("lblCarPrice");
            Label gps = (Label)rptCars.Items[rowIndex].FindControl("lblCarGps");
            Label type = (Label)rptCars.Items[rowIndex].FindControl("lblCarHdnType");
            Label carClass = (Label)rptCars.Items[rowIndex].FindControl("lblCarHdnClass");
            Label electric = (Label)rptCars.Items[rowIndex].FindControl("lblCarHdnElectric");
            Label passengers = (Label)rptCars.Items[rowIndex].FindControl("lblCarPassengers");
            Label luggage = (Label)rptCars.Items[rowIndex].FindControl("lblCarLuggage");
            Label doors = (Label)rptCars.Items[rowIndex].FindControl("lblCarHdnDoors");
            Label mileage = (Label)rptCars.Items[rowIndex].FindControl("lblCarMileage");
            Label agencyID = (Label)rptCars.Items[rowIndex].FindControl("lblCarHdnAgency");

            CarServiceRef.Car currCar = new CarServiceRef.Car();
            currCar.carID = int.Parse(carID.Text);
            currCar.make = make.Text;
            currCar.model = model.Text;
            currCar.year = year.Text;
            currCar.price = float.Parse(price.Text);
            currCar.gps = gps.Text;
            currCar.type = type.Text;
            currCar.carClass = carClass.Text;
            currCar.electric = electric.Text;
            currCar.passengers = int.Parse(passengers.Text);
            currCar.luggage = int.Parse(luggage.Text);
            currCar.doors = int.Parse(doors.Text);
            currCar.mileage = int.Parse(mileage.Text);

            VacationPackage vacationPackage;
            if (Session["VacationPackage"] != null)
            {
                vacationPackage = (VacationPackage)Session["VacationPackage"];
            }
            else
            {
                vacationPackage = new VacationPackage();
            }

            vacationPackage.cars.Add(currCar);
            vacationPackage.carsQuantity.Add(1);
            incrementCartNumber();
            Session["VacationPackage"] = vacationPackage;
        }
        protected void btnUpdateCart_Click(object sender, EventArgs e)
        {
            cartCountDisplay.InnerHtml = "0";

            VacationPackage vacation = (VacationPackage)Session["VacationPackage"];

            for (int i = 0; i < vacation.cars.Count; i++)
            {
                CarServiceRef.Car currCar = vacation.cars[i];
                int currCarQuantity = int.Parse(Request["cartCar" + currCar.carID]);
                vacation.carsQuantity[i] = currCarQuantity;

                updateCartCount(currCarQuantity);
            }

            for (int i = 0; i < vacation.events.Count; i++)
            {
                EventServiceRef.Event currEvent = vacation.events[i];
                int currEventQuantity = int.Parse(Request["cartEvent" + currEvent.ID]);
                vacation.eventsQuantity[i] = currEventQuantity;

                updateCartCount(currEventQuantity);
            }

            for (int i = 0; i < vacation.rooms.Count; i++)
            {
                HotelServiceRef.Room currRoom = vacation.rooms[i];
                int currRoomQuantity = int.Parse(Request["cartRooms" + currRoom.RoomID]);
                vacation.roomsQuantity[i] = currRoomQuantity;

                updateCartCount(currRoomQuantity);
            }

            for (int i = 0; i < vacation.flights.Count; i++)
            {
                Flight flight = vacation.flights[i];
                int currFlightQuantity = int.Parse(Request["cartFlights" + flight.flightID]);
                vacation.flightsQuantity[i] = currFlightQuantity;

                updateCartCount(currFlightQuantity);
            }

            displayCart();
        }
 /// <remarks/>
 public void ReserveAsync(Customer customer, Car car, object userState) {
     if ((this.ReserveOperationCompleted == null)) {
         this.ReserveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReserveOperationCompleted);
     }
     this.InvokeAsync("Reserve", new object[] {
                 customer,
                 car}, this.ReserveOperationCompleted, userState);
 }
 /// <remarks/>
 public void ReserveAsync(Customer customer, Car car) {
     this.ReserveAsync(customer, car, null);
 }
 public bool Reserve(Customer customer, Car car) {
     object[] results = this.Invoke("Reserve", new object[] {
                 customer,
                 car});
     return ((bool)(results[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();

            }
        }
        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();
        }