Exemplo n.º 1
0
        //Passing 1st trip and run a reverse search with return date
        public ActionResult FlightListReturn(string fid, int rid, int?page)
        {
            try
            {
                var ridParse = int.TryParse(rid.ToString(), out int ridParsed);
                if (string.IsNullOrEmpty(fid))
                {
                    fid = (string)Session["fid1"];
                }
                if (!ridParse)
                {
                    rid = (int)Session["rid1"];
                }
                Session["fid1"] = fid;
                Session["rid1"] = rid;
                Session["fid2"] = null;
                FlightResult firstTrip    = FlightSearchDAO.GetFlightResult(fid, rid);
                FlightSearch flightSearch = (FlightSearch)Session["searchParams"];
                ViewBag.RoundTrip = flightSearch.IsRoundTrip;
                var seatsLeft = firstTrip.FlightVM.AvailSeatsB + firstTrip.FlightVM.AvailSeatsF + firstTrip.FlightVM.AvailSeatsE;

                //interrupt check for available seats
                if (seatsLeft == 0)
                {
                    TempData["NoSeatsMessage"] = "Sorry, there are no more seats left for flight " + firstTrip.FlightVM.FNo;
                    return(RedirectToAction("FlightList", flightSearch));
                }

                //flip search query
                FlightSearch flightSearchReturn = ReverseFlightSearch(flightSearch);

                ViewBag.firstTrip = firstTrip;

                ViewBag.Pages = GetPages(flightSearchReturn);
                if (page == null)
                {
                    ViewBag.PageIndex = 1;
                    return(View("FlightList", GetFlightsForPage(1)));
                }
                ViewBag.PageIndex = page;

                //for debugging, making sure the original params are intact
                //Session["searchParams"] = flightSearch;

                return(View("FlightList", GetFlightsForPage(int.Parse(page.ToString()))));
            }
            catch (Exception)
            {
                //returns to home if search reversal procedure fails at any point
                TempData["errorM"] = "There was an error executing your requests. Please try again";
                return(RedirectToAction("Index"));
            }
        }
Exemplo n.º 2
0
        //Returns view model of selected flight.
        public ActionResult FlightDetails(string fid, int rid)
        {
            var model = FlightSearchDAO.GetFlightResult(fid, rid);

            return(View(model));
        }