public HttpResponseMessage AddFlight(HttpRequestMessage request, Flight flight) { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } if (Airports.IsTheSameAirport(flight) == true) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } int result = DateTime.Compare(DateTime.Parse(flight.DepartureTime), DateTime.Parse(flight.ArrivalTime)); if (result > 0 || result == 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } lock (locker) { if (FlightStorage.IsSameFlight(flight)) { return(request.CreateResponse(HttpStatusCode.Conflict)); } else { FlightStorage.Add(flight); } } return(request.CreateResponse(HttpStatusCode.Created, flight)); }
public HttpResponseMessage AddFlight(HttpRequestMessage request, Flight flight) { if (ModelState.IsValid) { return(FlightStorage.AddFlight(request, flight)); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
public HttpResponseMessage SearchFlightById(HttpRequestMessage request, int id) { Flight flight = FlightStorage.GetFlightById(id); if (flight == null) { return(request.CreateResponse(HttpStatusCode.NotFound)); } return(request.CreateResponse(HttpStatusCode.OK, flight)); }
public async Task <HttpResponseMessage> Get(HttpRequestMessage request, int id) { var flight = FlightStorage.GetFlightById(id); if (flight == null) { return(request.CreateResponse(HttpStatusCode.NotFound)); } return(request.CreateResponse(HttpStatusCode.OK, flight)); }
public HttpResponseMessage Get(HttpRequestMessage message, int id) { var flight = FlightStorage.GetFlight(id); if (flight == null) { return(message.CreateResponse(HttpStatusCode.NotFound)); } return(message.CreateResponse(HttpStatusCode.OK, flight.Id)); }
public HttpResponseMessage PostFlightSearch(HttpRequestMessage message, Search flight) { if (!Search.SearchIsValid(flight)) { return(message.CreateResponse(HttpStatusCode.BadRequest)); } var result = FlightStorage.PageResult(flight); return(message.CreateResponse(HttpStatusCode.OK, result)); }
public async Task <HttpResponseMessage> PostFlightSearch(HttpRequestMessage request, FlightSearch flight) { if (!IsValid(flight)) { return(request.CreateResponse(HttpStatusCode.BadRequest)); } var flights = FlightStorage.GetFlights(flight.From, flight.To, flight.DepartureDate); var response = new FlightSearchResponse(flights); return(request.CreateResponse(HttpStatusCode.OK, response)); }
public HttpResponseMessage GetFlightById(HttpRequestMessage message, int id) { var flightById = new Flight(); flightById = FlightStorage.FindFlightById(id); if (flightById.Id == id) { return(message.CreateResponse(HttpStatusCode.OK, flightById)); } return(message.CreateResponse(HttpStatusCode.NotFound)); }
public HttpResponseMessage DeleteFlight(HttpRequestMessage message, int id) { if (FlightStorage.FlightIsDeleted(id)) { return(message.CreateResponse(HttpStatusCode.OK)); } if (FlightStorage.IdOutOfRangeOk(id)) { return(message.CreateResponse(HttpStatusCode.OK)); } return(message.CreateResponse(HttpStatusCode.OK)); }
public async Task <HttpResponseMessage> AddFlight(HttpRequestMessage request, Flight flight) { if (!IsValid(flight)) { return(request.CreateResponse(HttpStatusCode.BadRequest, flight)); } flight.id = FlightStorage.GetNextId(); if (!FlightStorage.AddFlight(flight)) { return(request.CreateResponse(HttpStatusCode.Conflict, flight)); } return(request.CreateResponse(HttpStatusCode.Created, flight)); }
public AirportRequest[] GetAirports(string search) { var flights = FlightStorage.GetFlights(); var result = new HashSet <AirportRequest>(); flights.ForEach(f => { result.Add(f.From); result.Add(f.To); }); return(result.Where(a => a.Airport.ToLower().Contains(search.ToLower().Trim()) || a.City.ToLower().Contains(search.ToLower().Trim()) || a.Country.ToLower().Contains(search.ToLower().Trim())) .ToArray()); }
public HttpResponseMessage DeleteFlight(HttpRequestMessage message, int id) { lock (locker) { if (FlightStorage.DeleteFlight(id) == true) { return(message.CreateResponse(HttpStatusCode.OK)); } else if (id > FlightStorage.FlightDb.Count || id < FlightStorage.FlightDb.Count) { return(message.CreateResponse(HttpStatusCode.OK)); } return(message.CreateResponse(HttpStatusCode.OK)); } }
public HttpResponseMessage FlightSearch(HttpRequestMessage request, FlightSearchRequest search) { if (IsValid(search) && IsDifferentAirport(search)) { var result = FlightStorage.GetFlights(); var matchedItems = result.Where(f => f.From.Airport.ToLower().Contains(search.From.ToLower()) || f.To.Airport.ToLower().Contains(search.To.ToLower()) || f.DepartureTime.ToLower().Contains(search.To.ToLower())).ToList(); var response = new FlightSearchResult { TotalItems = result.Length, Items = matchedItems, Page = matchedItems.Any() ? 1 : 0 }; return(request.CreateResponse(HttpStatusCode.OK, response)); } return(request.CreateResponse(HttpStatusCode.BadRequest)); }
public HttpResponseMessage GetFlightById(HttpRequestMessage message, int id) { return(FlightStorage.FindFlightById(message, id)); }
public HttpResponseMessage GetAirport(HttpRequestMessage message, string search) { return(FlightStorage.FindAirport(message, search)); }
public bool Clear() { FlightStorage.ClearList(); return(true); }
public async Task <HttpResponseMessage> Delete(HttpRequestMessage request, int id) { FlightStorage.RemoveFlightById(id); return(request.CreateResponse(HttpStatusCode.OK)); }
public string Clear() { FlightStorage.ClearFlights(); return("OK"); }
public async Task <HttpResponseMessage> Clear(HttpRequestMessage request) { FlightStorage.ClearList(); return(request.CreateResponse(HttpStatusCode.OK, true)); }
public List <AirportRequest> GetAirport(string search) { return(FlightStorage.GetAirport(search)); }