public ActionResult <IList <TicketDetailsDTO> > GetAllTicketsByFlight(long flight_id) { LoginToken <AirlineCompany> airline_token = DesirializeToken(); IList <Ticket> tickets; Flight flight = _loggedInAirlineFacade.GetFlightById(flight_id); if (flight == null) { return(NotFound()); } tickets = _loggedInAirlineFacade.GetAllTicketsByFlight(airline_token, flight); if (tickets.Count == 0) { return(NoContent()); } List <TicketDetailsDTO> ticketDetailsDTOs = new List <TicketDetailsDTO>(); foreach (var ticket in tickets) { ticketDetailsDTOs.Add(_mapper.Map <TicketDetailsDTO>(ticket)); } return(Ok(ticketDetailsDTOs)); }
public IHttpActionResult CancelFlight([FromUri] long flightId) { GetLoginToken(); if (flightId <= 0) { return(Content(HttpStatusCode.NotAcceptable, $"{flightId} not valid")); } FlyCenter = FlyingCenterSystem.GetInstance(); ILoggedInAirlineFacade airlineFacade = FlyCenter.GetFacede(airlineCompanyLoginToken) as ILoggedInAirlineFacade; IHttpActionResult result = null; Flight flight = null; try { flight = airlineFacade.GetFlightById(airlineCompanyLoginToken, flightId); if (flight != null) { airlineFacade.CancelFlight(airlineCompanyLoginToken, flight); } return(Content(HttpStatusCode.NotAcceptable, $"Flight with ID = {flightId} not found")); } catch (Exception e) { result = BadRequest("Flight hasn't been deleted " + e.Message); } return(result); }
public IHttpActionResult UpdateFlight(int id, [FromBody] Flight flight) { GetLoginToken(); if (airlineCompanyLoginToken == null) { return(Unauthorized()); } FlyCenter = FlyingCenterSystem.GetInstance(); ILoggedInAirlineFacade airlineFacade = FlyCenter.GetFacede(airlineCompanyLoginToken) as ILoggedInAirlineFacade; flight = airlineFacade.GetFlightById(airlineCompanyLoginToken, id); if (flight == null) { return(BadRequest("Id not Found")); } else { airlineFacade.UpdateFlight(airlineCompanyLoginToken, flight); return(Ok($"Flight ID = {id} updated")); } }