public async Task <ActionResult <IList <AirlineFlightDTO> > > GetAllAirlineFlights() { LoginToken <AirlineCompany> token = GetLoginToken(); IList <Flight> flights = null; try { flights = await Task.Run(() => m_facade.GetAllFlights(token)); } catch (Exception ex) { return(StatusCode(500, $"{{ error: \"{ex.Message}\" }}")); } if (flights.Count == 0) { return(StatusCode(204, "{ }")); } List <AirlineFlightDTO> flightDTOs = new List <AirlineFlightDTO>(); foreach (Flight flight in flights) { AirlineFlightDTO flightDTO = m_mapper.Map <AirlineFlightDTO>(flight); flightDTOs.Add(flightDTO); } return(Ok(JsonConvert.SerializeObject(flightDTOs))); }
public async Task <ActionResult <TicketDTO> > PurchaseTicket([FromBody] AirlineFlightDTO flightDTO) { LoginToken <Customer> token = GetLoginToken(); Flight flight = m_mapper.Map <Flight>(flightDTO); Ticket ticket = null; try { ticket = await Task.Run(() => { return(m_facade.PurchaseTicket(token, flight)); }); } catch (CustomerAlreadyBoughtTicketException ex) { return(StatusCode(403, $"{{ error: \"{ex.Message}\" }}")); } catch (OutOfTicketsException ex) { return(StatusCode(406, $"{{ error: \"{ex.Message}\" }}")); } catch (WasntActivatedByCustomerException ex) { return(StatusCode(401, $"{{ error: \"{ex.Message}\" }}")); } TicketDTO ticketDTO = m_mapper.Map <TicketDTO>(ticket); return(Created($"api/Customer/PurchaseTicket/{ticketDTO.Id}", JsonConvert.SerializeObject(ticketDTO))); }
public async Task <ActionResult <List <AirlineReducedDTO> > > GetAllFlights() { IList <Flight> flights = await Task.Run(() => m_facade.GetAllFlights()); List <AirlineFlightDTO> airlineFlightsDTOs = new List <AirlineFlightDTO>(); foreach (Flight flight in flights) { AirlineFlightDTO airlineDTO = m_mapper.Map <AirlineFlightDTO>(flight); airlineFlightsDTOs.Add(airlineDTO); } return(Ok(JsonConvert.SerializeObject(airlineFlightsDTOs))); }
public async Task <ActionResult> CancelFlight([FromBody] AirlineFlightDTO airlineFlightDTO) { LoginToken <AirlineCompany> token = GetLoginToken(); Flight flight = m_mapper.Map <Flight>(airlineFlightDTO); try { await Task.Run(() => m_facade.CancelFlight(token, flight)); } catch (Exception ex) { return(StatusCode(400, $"{{ error: \"{ex.Message}\" }}")); } return(Ok()); }
public async Task <ActionResult <AirlineFlightDTO> > CreateNewFlight([FromBody] AirlineFlightDTO airlineFlightDTO) { LoginToken <AirlineCompany> token = GetLoginToken(); Flight flight = m_mapper.Map <Flight>(airlineFlightDTO); long id; try { id = await Task.Run(() => m_facade.CreateFlight(token, flight)); } catch (Exception ex) { return(StatusCode(500, $"{{ error: \"{ex.Message}\" }}")); } airlineFlightDTO.Id = id; AirlineFlightDTO flightDTO = m_mapper.Map <AirlineFlightDTO>(airlineFlightDTO); return(Created($"api/Airline/CreateNewFlight/{flightDTO.Id}", JsonConvert.SerializeObject(flightDTO))); }
public async Task <ActionResult <List <AirlineFlightDTO> > > GetFlightsByOriginCountry(string countryName) { long id = CountryDTO.ReturnIdFromName(countryName); if (id == 0) { return(StatusCode(400, $"{{ error: \"{"Country name does not exists"}\" }}")); } IList <Flight> flights = await Task.Run(() => m_facade.GetFlightsByOriginCountry((int)id)); List <AirlineFlightDTO> airlineFlightsDTOs = new List <AirlineFlightDTO>(); foreach (Flight flight in flights) { AirlineFlightDTO airlineDTO = m_mapper.Map <AirlineFlightDTO>(flight); airlineFlightsDTOs.Add(airlineDTO); } return(Ok(JsonConvert.SerializeObject(airlineFlightsDTOs))); }