Ejemplo n.º 1
0
        public ActionResult AirportsDistance(string iata1, string iata2)
        {
            AirportDistanceModel airportDistanceModel = new AirportDistanceModel();

            try
            {
                var airports = Caching.Caching.GetObjectFromCache("Airports", 30, (() => _airportService.GetAiports()));
                if (airports.Any())
                {
                    var airportByIata1 = airports.FirstOrDefault(x => x.IATA.Equals(iata1, System.StringComparison.InvariantCultureIgnoreCase));
                    var airportByIata2 = airports.FirstOrDefault(x => x.IATA.Equals(iata2, System.StringComparison.InvariantCultureIgnoreCase));

                    airportDistanceModel.DistanceMessage = _airportService.GetDistanceBetweenTwoAirport(airportByIata1, airportByIata2);

                    return(View(airportDistanceModel));
                }

                return(View(airportDistanceModel));
            }
            catch (System.Exception ex)
            {
                airportDistanceModel.DistanceMessage = ex.Message;
                return(View(airportDistanceModel));
            }
        }
        public HttpResponseMessage GetDistance([FromUri] string iataCode1, [FromUri] string iataCode2)
        {
            try
            {
                var airports = Caching.Caching.GetObjectFromCache("Airports", 30, (() => _airportService.GetAiports()));
                if (airports.Any())
                {
                    var airportByIata1 = airports.FirstOrDefault(x => x.IATA.Equals(iataCode1, StringComparison.InvariantCultureIgnoreCase));
                    var airportByIata2 = airports.FirstOrDefault(x => x.IATA.Equals(iataCode2, StringComparison.InvariantCultureIgnoreCase));

                    return(Request.CreateResponse(HttpStatusCode.OK, _airportService.GetDistanceBetweenTwoAirport(airportByIata1, airportByIata2)));
                }

                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }
        }