/// <summary> /// Generate report by ItineraryId /// </summary> /// <param name="itineraryId"></param> /// <returns></returns> public ActionResult GenerateReport(long itineraryId) { _airportsRepository = new AirportsRepository(); _itinerarysRepository = new ItinerarysRepository(); _usersRepository = new UsersRepository(); var itineraryInfo = _itinerarysRepository.Get(itineraryId); var userInfo = new Users(); _listF = new List <Flights>(); if (itineraryInfo != null) { userInfo = _usersRepository.Get(itineraryInfo.UserID); foreach (var flight in itineraryInfo.Flights) { flight.DepartureLocation = _airportsRepository.Get(flight.DepartureLocation).AirportID; flight.ArrivalLocation = _airportsRepository.Get(flight.ArrivalLocation).AirportID; } } ViewBag.itineraryInfo = itineraryInfo; return(View()); }
public ActionResult Edit(long id) { _itinerarysRepository = new ItinerarysRepository(); _flightsRepository = new FlightsRepository(); ViewBag.flightList = _flightsRepository.GetFlightsByItinerary(id); return(View(_itinerarysRepository.Get(id))); }
public ActionResult Index() { _itinerarysRepository = new ItinerarysRepository(); if (TempData["messageDelete"] != null) { ViewBag.Message = TempData["messageDelete"].ToString(); } return(View()); }
/// <summary> /// Action to delete an itinerary by Id /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Delete(long id) { _itinerarysRepository = new ItinerarysRepository(); var res = _itinerarysRepository.Delete(id); if (res.Equals("NotAllowed")) { TempData["messageDelete"] = "The operation is not allowed because there are entries in the Tag Report"; } else if (res.Equals("Ok")) { TempData["messageDelete"] = "The Itinerary was successfully deleted"; } return(RedirectToAction("Index")); }
public ActionResult Edit(Itinerary model) { if (ModelState.IsValid) { _itinerarysRepository = new ItinerarysRepository(); var currentItinerary = _itinerarysRepository.Get(model.ItineraryID); model.From = currentItinerary.From; model.To = currentItinerary.To; model.RetStops = currentItinerary.RetStops; model.TripType = currentItinerary.TripType; model.PassengerID = currentItinerary.PassengerID; _itinerarysRepository.Update(model); ViewBag.SuccessMessage = "The itinerary was updated successfully."; } _flightsRepository = new FlightsRepository(); ViewBag.flightList = _flightsRepository.GetFlightsByItinerary(model.ItineraryID); return(View(model)); }
public ActionResult Delete(Itinerary model) { try { _itinerarysRepository = new ItinerarysRepository(); _bagTagDesignationRepository = new BagTagDesignationRepository(); _bagTagDesignationRepository.DeleteByItinerary(model.ItineraryID); _itinerarysRepository.Delete(model.ItineraryID); ViewBag.Message = "The itinerary with the Id {model.ItineraryID} was deleted from the Database"; return(View("messages")); } catch (Exception e) { ModelState.AddModelError("", e); ViewBag.Message = string.Format( "Error: an error occurred when tried to delete the itinerary with the ID {0} was not deleted from the Database", model.ItineraryID); return(View("messages")); } }
/// <summary> /// GridData by page and rows /// </summary> /// <param name="page"></param> /// <param name="rows"></param> /// <returns></returns> public ActionResult GridData(int page, int rows) { try { _itinerarysRepository = new ItinerarysRepository(); _storeProcedureRepository = new StoreProcedureRepository(); var res = _storeProcedureRepository.GetManageItineraries(page, rows); var pageSize = rows; var totalRecords = res.Any() ? Convert.ToInt32(res[0].intTotalHits) : 0; var totalPages = (int)Math.Ceiling(totalRecords / (float)pageSize); var res2 = res.ToList(); #region try { var request = ControllerContext.HttpContext.Request; if (request["ItineraryID"] != null) { var iId = long.Parse(request["ItineraryID"]); var res3 = res2.FindAll(x => x.ItineraryID == iId); res2 = res3; } else if (request["Airline"] != null) { var res3 = res2.FindAll( x => x.AirlineName.Contains(request["Airline"].ToString(CultureInfo.InvariantCulture))); res2 = res3; } } catch (Exception exception) { ModelState.AddModelError("", exception); } #endregion var jsonData = new { total = totalPages, page, records = totalRecords, rows = ( from x in res2 let departDateTime = x.DepartDateTime where departDateTime != null let arrivalDateTime = x.ArrivalDateTime where arrivalDateTime != null select new { id = x.ItineraryID, cell = new[] { "", "", "", x.ItineraryID.ToString(CultureInfo.InvariantCulture), departDateTime.Value.ToString(CultureInfo.InvariantCulture), arrivalDateTime.Value.ToString(CultureInfo.InvariantCulture), x.DepartureAirportDesignationLetters, x.ArrivalAirportDesignationLetters, x.FlightNumber.ToString(CultureInfo.InvariantCulture), x.AirlineName, x.PassengerName, x.PassengerEmail, x.Pingers, x.Stops.HasValue ? x.Stops.Value.ToString(CultureInfo.InvariantCulture) : string.Empty, x.Type, x.IsTestItinerary == false ? "No":"Yes" } }).ToArray() }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); } catch { ViewBag.message = "An error was ocurred."; return(null); } }
public ActionResult InsertBasic(string Stops, string TripTypeName, string PassengerName, string PassengerLastName, string PassengerEmail) { _airlinesRepository = new AirlinesRepository(); _airportsRepository = new AirportsRepository(); _tagsRepository = new TagsRepository(); _passengerRepository = new PassengerRepository(); _itineraryPingersRepository = new ItineraryPingersRepository(); new UserTagsRepository(); _usersRepository = new UsersRepository(); _monitoredFlightsRepository = new MonitoredFlightsRepository(); _itinerarysRepository = new ItinerarysRepository(); _flightsRepository = new FlightsRepository(); new GatewayAirlineRepository(); #region Create Itinerary var model = new BasicItineraryModel { //ConnxysTagId = ConnxysTagId, DepartureTime = _listF.First().DepartureDateTime, ArrivalTime = _listF.Last().ArrivalDateTime, DepartureName = _airportsRepository.Get(_listF.First().DepartureLocation).AirportDesignationLetters, ArrivalName = _airportsRepository.Get(_listF.Last().ArrivalLocation).AirportDesignationLetters, Stops = Convert.ToInt32(Stops), TripTypeName = TripTypeName, DepartDateTimeUTC = _listIti.First().DepartDateTimeUTC, ArrivalDateTimeUTC = _listIti.Last().ArrivalDateTimeUTC }; object jsonData; //Get Passenger Information var passenger = _passengerRepository.Get(PassengerEmail); passenger.PassengerName = PassengerName; passenger.PassengerLastName = PassengerLastName; _passengerRepository.Update(passenger); var itinerary = new Itinerary { //UserID = userInfo.userID, UserID = 0, Stops = model.Stops, DepartDateTime = model.DepartureTime, ArrivalDateTime = model.ArrivalTime, AirlineReservationID = model.AirlineReservationId, RetStops = model.RetStops, TripType = (short?)int.Parse(model.TripTypeName), From = model.DepartureName, To = model.ArrivalName, CreationDate = DateTime.UtcNow, Type = "Real Flight", PassengerID = passenger != null ? passenger.PassengerID : 0, DepartDateTimeUTC = model.DepartDateTimeUTC, ArrivalDateTimeUTC = model.ArrivalDateTimeUTC }; try { //insert the new itinerary _itinerarysRepository.Add(itinerary); var itineraryId = itinerary.ItineraryID; if (itineraryId > 0) { var connxysWcfRestService = new ConnxysWCFRestService(); var flightsList = new StringBuilder(); var currentFlight = 0L; var flightInd = 0; //insert all the flights foreach (var flightItem in _listF) { flightItem.ItineraryID = itineraryId; _flightsRepository.Add(flightItem); if (flightInd == (_listF.Count - 1)) { flightsList.Append(flightItem.FlightID); } else { flightsList.Append(flightItem.FlightID).Append("-"); } if (flightInd == 0) { currentFlight = flightItem.FlightID; } var monitoredFlights = new MonitoredFlights(); { monitoredFlights.FlightId = flightItem.FlightID; monitoredFlights.FlightNumber = flightItem.FlightNumber; monitoredFlights.StartDate = Convert.ToDateTime(flightItem.DepartureDateTime); monitoredFlights.EndDate = Convert.ToDateTime(flightItem.ArrivalDateTime); monitoredFlights.DepartureLocation = flightItem.DepartureLocation; monitoredFlights.ArrivalLocation = flightItem.ArrivalLocation; monitoredFlights.Status = 0; var airline = _airlinesRepository.Get(flightItem.AirlineID); monitoredFlights.AirlineDesignator = airline.AirlineDesignator; monitoredFlights.AirlineName = airline.AirlineName; } //Insert monitoredflight in the database _monitoredFlightsRepository.Add(monitoredFlights); // Increase Flight index flightInd++; } //insert all the bags foreach (var bagItem in _listB) { var baggageInfo = new BaggageInfo { BagIATANumber = bagItem.BagIATANumber, ItineraryId = itineraryId, PingerId = bagItem.ConnxysTagID, PassengerEmail = passenger.PassengerEmail, PassengerLastName = passenger.PassengerLastName, PassengerName = passenger.PassengerName }; connxysWcfRestService.UpdateBaggageInfo(baggageInfo); var itineraryPinger = new ItineraryPingers { ItineraryID = itinerary.ItineraryID, ConnxysTagID = bagItem.ConnxysTagID }; _itineraryPingersRepository.Add(itineraryPinger); } _listB = new List <BagTagDesignation>(); var creationDate = DateTime.Now.ToUniversalTime(); _storeProcedureRepository = new StoreProcedureRepository(); _storeProcedureRepository.CreateOutgoingMessage(itinerary.ItineraryID, null, null, null, null, Convert.ToInt64(model.TagId), "Manually", creationDate, false); //Create notification message to sent a message to the passenger abput the itinerary creation var notification = new NotificationMessage { Title = "Itinerary Information", Message = string.Format ("Hello {0}! We’re excited to have you fly with us on flight #: {1} to {2}. We’ll notify you when your bag is checked in, when it’s been loaded aboard your flight, and where you can reclaim it in {3}. Enjoy your flight with us!", passenger.PassengerName, _listF[0].FlightNumber.ToString(), model.ArrivalName, model.ArrivalName), TokenId = passenger.TokenId }; foreach (var fl in _listF) { var airlineDesignator = _airlinesRepository.Get(fl.AirlineID); var callUpdateFlight = new ConnxysWCFRestService(); if (fl.DepartureDateTime == null) { continue; } if (fl.ArrivalDateTime != null) { callUpdateFlight.UpdateSimpleFlight( fl.FlightID.ToString(CultureInfo.InvariantCulture), airlineDesignator.AirlineDesignator, fl.FlightNumber.ToString(CultureInfo.InvariantCulture), fl.DepartureDateTime.Value.ToString(CultureInfo.InvariantCulture), fl.ArrivalDateTime.Value.ToString(CultureInfo.InvariantCulture)); } } _listF = new List <Flights>(); jsonData = new { status = "Ok", itineraryId = itinerary.ItineraryID }; //Send push notification about itinerary creation to the passenger connxysWcfRestService.SendPushNotification(notification); } else { //throw error the itinerary can not be created _listF = new List <Flights>(); PopulateList(); jsonData = new { status = "Failed", message = "Error: The itinerary was not added." }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); } return(Json(jsonData, JsonRequestBehavior.AllowGet)); } catch (Exception e) { //throw error the itinerary can not be created _listF = new List <Flights>(); jsonData = new { status = "Failed", message = "Error: The itinerary was not added." }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); } #endregion }