public ActionResult Search(Flight flight) { DateTime fDate = flight.Time.Date; var flghts = _context.Flights.Where(f => f.Origin == flight.Origin && f.Destination == flight.Destination && DbFunctions.TruncateTime(f.Time) == DbFunctions.TruncateTime(fDate)).ToList(); var viewModel = new SearchFlightViewModel { Flights = flghts }; return(View(viewModel)); }
public IActionResult ChooseFlight(SearchFlightViewModel model) { ///chỗ ni còn sai------> kiểm tra điều kiện var cart = SessionHelper.GetObjFromJson <SummaryBookingViewModel>(HttpContext.Session, Common.SESSIONSUMMARY_NAME); cart.Class = model.IdClass; SessionHelper.SetObjAsJson(HttpContext.Session, Common.SESSIONSUMMARY_NAME, cart); BookingQuery.AddTicketIntoSummary(HttpContext.Session, model.DeparId, true); BookingQuery.AddTicketIntoSummary(HttpContext.Session, model.ReturnId, false); return(RedirectToAction("FillImformation")); }
public ActionResult SearchFlight(SearchFlightViewModel searchFlightViewModel) { var listOfCountryCode = new List <SelectListItem> { new SelectListItem { Text = "KUL (Kuala Lumpur)", Value = "KUL" }, new SelectListItem { Text = "BKK (Bangkok)", Value = "BKK" }, new SelectListItem { Text = "ICN (Seoul)", Value = "ICN" }, new SelectListItem { Text = "HND (Tokyo)", Value = "HND" }, new SelectListItem { Text = "DXB (Dubai)", Value = "DXB" }, new SelectListItem { Text = "KBP (Kiev)", Value = "KBP" }, new SelectListItem { Text = "PEK (Beijing)", Value = "PEK" }, new SelectListItem { Text = "SIN (Singapore)", Value = "SIN" } }; searchFlightViewModel.AirportCode = listOfCountryCode; var today = DateTime.Today; var search = db.Flights.Where(f => f.DepartureTime > today); if (!string.IsNullOrEmpty(searchFlightViewModel.Origin)) { search = search.Where(f => f.Origin == searchFlightViewModel.Origin); } if (!string.IsNullOrEmpty(searchFlightViewModel.Destination)) { search = search.Where(f => f.Destination == searchFlightViewModel.Destination); } searchFlightViewModel.FlightList = search.OrderBy(f => f.DepartureTime).ToList(); return(View(searchFlightViewModel)); }
public async Task <IActionResult> SearchFlight(SearchFlightViewModel model) { if (!model.RoundTrip) { ModelState.Remove("ReturnDate"); } if (ModelState.IsValid) { var departFlight = from f in _context.Flights where f.Origin == model.Origin && (f.Destination == model.Destination) && (f.DepartureDateTime.Date == model.DepartureDate) select f; SearchFlightResultViewModel result = new SearchFlightResultViewModel { Passenger = model.Passenger, Depart = await departFlight.ToListAsync(), Origin = model.Origin, Destination = model.Destination, RoundTrip = model.RoundTrip, DepartDate = model.DepartureDate, }; if (model.RoundTrip) { var returnFlight = from f in _context.Flights where f.Origin == model.Destination && (f.Destination == model.Origin) && (f.DepartureDateTime.Date == model.ReturnDate) select f; result.Return = await returnFlight.ToListAsync(); result.ReturnDate = model.ReturnDate; } return(View(nameof(SearchFlightResult), result)); } //has error fallback return(View(model)); }
// GET: SearchFlight public ActionResult Index(SearchFlightViewModel searchFlightViewModel) { var result = (from f in db.tblFlights.ToList() join fs in db.tblFlightSchedules.ToList() on f.ID equals fs.FlightID join r in db.tblRoutes.ToList() on fs.RouteID equals r.ID join ff in db.tblFares.ToList() on new { flightId = f.ID, routeId = r.ID, passengertype = 2 } equals new { flightId = ff.FlightID, routeId = ff.RouteID, passengertype = ff.PassengerTypeID } join c in db.tblClasses on ff.ClassID equals c.ID join fseat in db.tblFlightSeats on new { flightId = f.ID, classid = c.ID } equals new { flightId = fseat.FlightID, classid = fseat.ClassID } where GetBookedSeat(fs.ID, c.ID) < fseat.NoOfSeat select new FlightDetail { FlightId = f.ID, FlightScheduleId = fs.ID, FlightNo = f.FlightNo, FlightName = f.FlightName, FlightLogo = f.FlightLogo, From = r.Departure, To = r.Arrival, Depart = fs.DepartureDateTime, Arrive = fs.ArrivalDateTime, Fare = ff.Amount.ToString(), ChildFare = GetChildFare(f.ID, c.ID, r.ID), AllowedBaggage = ff.AllowedBaggage.ToString(), ClassID = c.ID.ToString(), Class = c.Class }).ToList(); var departFlightListDetail = new List <FlightDetail>(); var returnFlightListDetail = new List <FlightDetail>(); //depart flight List departFlightListDetail = result; if (!string.IsNullOrEmpty(searchFlightViewModel.From)) { departFlightListDetail = departFlightListDetail.Where(r => r.From.ToLower().Contains(searchFlightViewModel.From.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(searchFlightViewModel.To)) { departFlightListDetail = departFlightListDetail.Where(r => r.To.ToLower().Contains(searchFlightViewModel.To.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(searchFlightViewModel.Depart.Value.ToLongDateString())) { departFlightListDetail = departFlightListDetail.Where(r => r.Depart.ToShortDateString() == searchFlightViewModel.Depart.Value.ToShortDateString()).ToList(); } searchFlightViewModel.departFlightDetail = departFlightListDetail; //return flightList if (!string.IsNullOrEmpty(searchFlightViewModel.FlightType) && searchFlightViewModel.FlightType == "2") { returnFlightListDetail = result; if (!string.IsNullOrEmpty(searchFlightViewModel.From)) { returnFlightListDetail = returnFlightListDetail.Where(r => r.From.ToLower().Contains(searchFlightViewModel.To.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(searchFlightViewModel.To)) { returnFlightListDetail = returnFlightListDetail.Where(r => r.To.ToLower().Contains(searchFlightViewModel.From.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(searchFlightViewModel.Depart.Value.ToLongDateString()) && !string.IsNullOrEmpty(searchFlightViewModel.Return.Value.ToLongDateString())) { returnFlightListDetail = returnFlightListDetail.Where(r => r.Depart.ToShortDateString() == searchFlightViewModel.Return.Value.ToShortDateString()).ToList(); } } searchFlightViewModel.returnFlightDetail = returnFlightListDetail; //join ff in db.tblFares.ToList() on f.ID equals ff.FlightID && ff.RouteID equals r.ID return(View(searchFlightViewModel)); }
public ActionResult Search(SearchFlightViewModel searchFlightViewModel) { return(RedirectToAction("Index", "SearchFlight", searchFlightViewModel)); }