Exemple #1
0
        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));
        }
Exemple #2
0
 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));
        }
Exemple #5
0
        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));
        }
Exemple #8
0
        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));
        }
Exemple #9
0
 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));
        }
Exemple #11
0
        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());
        }
Exemple #12
0
        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");
 }
Exemple #19
0
 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));
 }