Exemplo n.º 1
0
        public ActionResult ViewTransferBooking(int id)
        {
            View_TripBookingTransport transfer = null;
            var blError = TripManager.GetTripBookingTransport(id, out transfer);

            if (blError.ErrorCode > 0)
            {
                throw new ApplicationException(blError.ErrorMessage);
            }

            var model = new FlightBookingViewModel()
            {
                TripId          = transfer.TripId,
                Adults          = transfer.Adults.HasValue ? transfer.Adults.Value : 0,
                BookingStatus   = transfer.BookingStatus,
                FlightClass     = transfer.TravelClass,
                FlightDate      = transfer.BookingDate.HasValue ? transfer.BookingDate.Value : DateTime.MinValue,
                From            = transfer.TransportFrom, To = transfer.TransportTo,
                Kids            = transfer.Kids.HasValue ? transfer.Kids.Value : 0,
                TravellerNotes  = transfer.TravellerNotes,
                TransportType   = transfer.TransportType,
                AdminNotes      = transfer.AdminNotes,
                TransferDetails = transfer.TransferDetails
            };

            return(View(model));
        }
Exemplo n.º 2
0
        public void TestToCheckIfCorrectPassengerClassIsInvokedForDiscountedPassenger(EPassengerSelection passengerSelection, string passengerData)
        {
            var    sut = new FlightBookingViewModel();
            object passengerInstance = sut.GetPassengerClassBasedOnPassengerType(passengerSelection, passengerData);

            Assert.IsInstanceOf <DiscountedPassenger>(passengerInstance);
        }
Exemplo n.º 3
0
        public void TestToCheckIfUserInputValid(string passengerData)
        {
            var sut = new FlightBookingViewModel();

            sut.AnalysePassengerInput(passengerData);
            Assert.That(sut.Passenger.IsUserInputValid, Is.EqualTo(true));
        }
Exemplo n.º 4
0
 public void Setup()
 {
     if (flightBookingViewModel == null)
     {
         IEnumerable      testData   = FlightBookingTestData.TestCases;
         List <Passenger> passengers = new List <Passenger>();
         flightBookingViewModel = new FlightBookingViewModel();
         foreach (var data in testData)
         {
             flightBookingViewModel.AnalysePassengerInput(((TestCaseData)data).Arguments[0].ToString());
         }
     }
 }
Exemplo n.º 5
0
        public async Task <ActionResult> SaveFlightBookingAccommodationAsync(FlightBookingViewModel model)
        {
            var _booking = new TripBookingTransport();

            if (model.FlightClass.ToLower().Contains("train"))
            {
                _booking.TransportType = "Train";
            }
            else if (model.FlightClass.ToLower().Contains("flight"))
            {
                _booking.TransportType = "Flight";
            }
            else if (model.FlightClass.ToLower().Contains("bus") || model.FlightClass.ToLower().Contains("coach"))
            {
                _booking.TransportType = "Bus";
            }
            else if (model.FlightClass.ToLower().Contains("taxi"))
            {
                _booking.TransportType = "Taxi";
            }
            else
            {
                _booking.TransportType = "Unknown";
            }

            _booking.TripId     = model.TripId;
            _booking.TripStepId = model.TripStepId;

            _booking.Id             = model.TripBookingTransportId;
            _booking.Adults         = model.Adults;
            _booking.BookingDate    = model.FlightDate;
            _booking.BookingStatus  = TransferBookingStatus.requested.ToString();
            _booking.Kids           = model.Kids;
            _booking.TransportFrom  = model.From;
            _booking.TransportTo    = model.To;
            _booking.TravelClass    = model.FlightClass;
            _booking.TravellerNotes = model.TravellerNotes;

            var blError = await TripManager.SaveTripBookingTransportAsync(_booking);

            return(RedirectToAction("ViewTrip", new { @tripId = model.TripId }));
        }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            string userInput = string.Empty;
            FlightBookingViewModel flightBookingViewModel = new FlightBookingViewModel();

            UpdateConsoleToChooseOptions();
            do
            {
                userInput = Console.ReadLine() ?? "";
                try
                {
                    flightBookingViewModel.AnalysePassengerInput(userInput);
                    if (flightBookingViewModel.IsPrintRequired)
                    {
                        UpdateConsoleForInvalidInput(flightBookingViewModel.PrintText.ToString(), flightBookingViewModel.PrintTextColor);
                    }
                }
                catch (Exception)
                {
                    UpdateConsoleForInvalidInput(Constants.UNKOWNINPUT, ConsoleColor.Red);
                }
            } while (userInput != EPassengerSelection.Exit.ToString());
        }
        public async Task <IActionResult> GetFlight(Guid flightId, string userId)
        {
            if (string.IsNullOrEmpty(userId))
            {
                var loginForm = new LoginForm {
                    FlightId = flightId
                };
                return(View("Login", loginForm));
            }

            var flight = await flightsClient.GetFlightAsync(flightId).ConfigureAwait(true);

            var bookingViewModel = new FlightBookingViewModel
            {
                Id     = flight.Id,
                UserId = userId,
                Number = flight.Number,
                Date   = flight.Date.ToShortDateString(),
                Rows   = BuildSeats(userId, flight)
            };

            return(View("FlightBooking", bookingViewModel));
        }
Exemplo n.º 8
0
        public ActionResult AddFlightBooking(int tripId, int tripStepId = 0)
        {
            BlViewTrip tripObj = null;
            var        blError = TripManager.GetTripById(tripId, out tripObj);

            if (blError.ErrorCode > 0)
            {
                throw new ApplicationException(blError.ErrorMessage);
            }

            View_TripStep tripStepObj = null;

            if (tripStepId > 0)
            {
                tripStepObj = tripObj.DlTripStepsView.FirstOrDefault(p => p.Id == tripStepId);
                if (tripStepObj == null)
                {
                    throw new ApplicationException(string.Format("Invalid parameter - [TripStepId:{0}]", tripStepId));
                }
            }

            var model = new FlightBookingViewModel()
            {
                TripBookingTransportId = 0,
                TripId          = tripId,
                TripStepId      = tripStepId,
                TripName        = tripObj.DlTripView.Name,
                TripDescription = tripObj.DlTripView.Description,
                Adults          = tripObj.DlTripView.PaxAdults,
                Kids            = tripObj.DlTripView.PaxMinors,
                TripStartDate   = (tripStepObj != null && tripStepObj.StartDate.HasValue) ? tripStepObj.StartDate : tripObj.DlTripView.StartDate,
                FlightDate      = (tripStepObj != null && tripStepObj.StartDate.HasValue) ? tripStepObj.StartDate.Value : tripObj.DlTripView.StartDate.Value,
            };

            return(View("FlightBooking", model));
        }
Exemplo n.º 9
0
        public ActionResult FlightBooking(Guid flightID)
        {
            FlightBookingViewModel model = new FlightBookingViewModel();

            string bookedSeats = String.Join(",", (from b in db.Booking_Detail
                                                   join s in db.Seat_Detail on b.BookingID equals s.BookingID
                                                   where b.FlightID == flightID
                                                   select s.SeatID).ToArray());
            var flightDetail = (from f in db.Flight_Detail where f.FlightID == flightID select f).FirstOrDefault();
            var priceList    = (from p in db.Pricings where p.FlightID == flightID select p).ToList();

            var firstClassPriceList    = (from pl in priceList where pl.ClassCategory == "First" select pl).OrderBy(x => x.Price).ToList();
            var businessClassPriceList = (from pl in priceList where pl.ClassCategory == "Business" select pl).OrderBy(x => x.Price).ToList();
            var economyClassPriceList  = (from pl in priceList where pl.ClassCategory == "Economy" select pl).OrderBy(x => x.Price).ToList();

            ViewBag.BookedSeats          = bookedSeats;
            model.flightID               = flightID;
            model.flightDetail           = flightDetail;
            model.firstClassPriceList    = firstClassPriceList;
            model.businessClassPriceList = businessClassPriceList;
            model.economyClassPriceList  = economyClassPriceList;

            return(View(model));
        }
Exemplo n.º 10
0
        public ActionResult FlightBooking(FlightBookingViewModel model, string[] Name, string[] Gender, string[] Nationality, string[] DOB, string btnProceed, string btnSubmit)
        {
            string seats = Request.Form["SeatsSelected"];

            string[] seat = seats.Split(new char[] { ',' });

            if (!String.IsNullOrEmpty(btnProceed))
            {
                string bookedSeats = String.Join(",", (from b in db.Booking_Detail
                                                       join s in db.Seat_Detail on b.BookingID equals s.BookingID
                                                       where b.FlightID == model.flightID
                                                       select s.SeatID).ToArray());
                ViewBag.BookedSeats   = bookedSeats;
                ViewBag.SelectedSeats = seats;

                var flightDetail = (from f in db.Flight_Detail where f.FlightID == model.flightID select f).FirstOrDefault();
                var priceList    = (from p in db.Pricings where p.FlightID == model.flightID select p).ToList();

                var firstClassPriceList    = (from pl in priceList where pl.ClassCategory == "First" select pl).OrderBy(x => x.Price).ToList();
                var businessClassPriceList = (from pl in priceList where pl.ClassCategory == "Business" select pl).OrderBy(x => x.Price).ToList();
                var economyClassPriceList  = (from pl in priceList where pl.ClassCategory == "Economy" select pl).OrderBy(x => x.Price).ToList();

                model.numberOfSelectedSeats  = seat.Length;
                model.bookedSeats            = seat;
                model.flightDetail           = flightDetail;
                model.firstClassPriceList    = firstClassPriceList;
                model.businessClassPriceList = businessClassPriceList;
                model.economyClassPriceList  = economyClassPriceList;
                ViewBag.Disable = "disable";
            }

            if (!String.IsNullOrEmpty(btnSubmit))
            {
                Guid sessionUserID = new Guid(User.Identity.Name.Split('|')[1].ToString());

                PriceCalculation priceCalculation = new PriceCalculation();

                Booking_Detail bookingDetail = new Booking_Detail()
                {
                    BookingID          = Guid.NewGuid(),
                    FlightID           = model.flightID,
                    BookedByCustomerID = sessionUserID,
                    Amount             = priceCalculation.GetTotalPrice(DOB, seat, model.flightID),
                    BookingDateTime    = DateTime.Now
                };
                db.Booking_Detail.Add(bookingDetail);
                db.SaveChanges();

                for (int i = 0; i < seat.Length; i++)
                {
                    Seat_Detail seatDetail = new Seat_Detail()
                    {
                        TicketID  = Guid.NewGuid(),
                        BookingID = bookingDetail.BookingID,
                        SeatID    = Convert.ToInt16(seat[i])
                    };
                    db.Seat_Detail.Add(seatDetail);
                    db.SaveChanges();

                    Passenger passenger = new Passenger()
                    {
                        PassengerID = Guid.NewGuid(),
                        Name        = Name[i],
                        Gender      = Gender[i],
                        DOB         = Convert.ToDateTime(DOB[i]),
                        Nationality = Nationality[i],
                        TicketID    = seatDetail.TicketID
                    };
                    db.Passengers.Add(passenger);
                    db.SaveChanges();
                }
                return(RedirectToAction("Home", "Customer"));
            }
            return(View(model));
        }