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)); }
public void TestToCheckIfCorrectPassengerClassIsInvokedForDiscountedPassenger(EPassengerSelection passengerSelection, string passengerData) { var sut = new FlightBookingViewModel(); object passengerInstance = sut.GetPassengerClassBasedOnPassengerType(passengerSelection, passengerData); Assert.IsInstanceOf <DiscountedPassenger>(passengerInstance); }
public void TestToCheckIfUserInputValid(string passengerData) { var sut = new FlightBookingViewModel(); sut.AnalysePassengerInput(passengerData); Assert.That(sut.Passenger.IsUserInputValid, Is.EqualTo(true)); }
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()); } } }
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 })); }
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)); }
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)); }
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)); }
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)); }