コード例 #1
0
        /// <summary>
        /// Search Flights
        /// </summary>
        /// <param name="flightModel"></param>
        /// <returns>null</returns>
        public ActionResult Flights(FlightModel flightModel)
        {
            String fromDate = String.Format("{0:yyyy-MM-dd}", flightModel.FromDate);
            String toDate = String.Format("{0:yyyy-MM-dd}", flightModel.ToDate);

            var result = RequestService(flightModel, fromDate, toDate);
            var searchFlightViewModel = new SearchFlightViewModel();

            searchFlightViewModel = InsertFlightViewModel(result, searchFlightViewModel);

            return null;
        }
コード例 #2
0
        /// <summary>
        /// insert models into searchFlightViewModel when web service response data
        /// </summary>
        /// <param name="result"></param>
        /// <param name="searchFlightViewModel"></param>
        /// <returns>SearchFlightViewModel searchFlightViewModel</returns>
        private SearchFlightViewModel InsertFlightViewModel(dynamic result, SearchFlightViewModel searchFlightViewModel)
        {
            //loop data of web service response, insert into QuotesModel and insert QuotesModel into searchFlightViewModel
            for (int indexQuote = 0; indexQuote < result.Quotes.Count; indexQuote++)
            {
                var modelQuote = new QuotesModel();

                //check data of web service response is not null
                if (String.IsNullOrEmpty(result.Quotes[indexQuote].QuoteId.ToString()) == false)
                    modelQuote.QuoteId = result.Quotes[indexQuote].QuoteId;
                if (String.IsNullOrEmpty(result.Quotes[indexQuote].MinPrice.ToString()) == false)
                    modelQuote.MinPrice = result.Quotes[indexQuote].MinPrice;
                if (String.IsNullOrEmpty(result.Quotes[indexQuote].Direct.ToString()) == false)
                    modelQuote.Direct = result.Quotes[indexQuote].Direct;
                if (String.IsNullOrEmpty(result.Quotes[indexQuote].OutboundLeg.OriginId.ToString()) == false)
                    modelQuote.OutboundLeg.OriginId = result.Quotes[indexQuote].OutboundLeg.OriginId;
                if (String.IsNullOrEmpty(result.Quotes[indexQuote].OutboundLeg.DestinationId.ToString()) == false)
                    modelQuote.OutboundLeg.DestinationId = result.Quotes[indexQuote].OutboundLeg.DestinationId;
                if (String.IsNullOrEmpty(result.Quotes[indexQuote].OutboundLeg.DepartureDate.ToString()) == false)
                    modelQuote.OutboundLeg.DepartureDate = result.Quotes[indexQuote].OutboundLeg.DepartureDate;

                //loop data of QuotesModel, insert into CarrierIdsModel
                for (var indexCarrerId = 0; indexCarrerId < result.Quotes[indexQuote].OutboundLeg.CarrierIds.Count; indexCarrerId++)
                {
                    var modelCarrerIds = new CarrierIdsModel();

                    modelCarrerIds.CarrierId = result.Quotes[indexQuote].OutboundLeg.CarrierIds[indexCarrerId];
                    modelQuote.OutboundLeg.CarrerIds.Add(modelCarrerIds);
                }
                searchFlightViewModel.quotesModel.Add(modelQuote);
            }

            //loop data of web service response, insert into PlacesModel and insert PlacesModel into searchFlightViewModel
            for (int indexPlaces = 0; indexPlaces < result.Places.Count; indexPlaces++)
            {
                var modelPlace = new PlacesModel();
                if (String.IsNullOrEmpty(result.Places[indexPlaces].PlaceId.ToString()) == false)
                    modelPlace.PlaceId = result.Places[indexPlaces].PlaceId;
                if (String.IsNullOrEmpty(result.Places[indexPlaces].IataCode.ToString()) == false)
                    modelPlace.IataCode = result.Places[indexPlaces].IataCode;
                if (String.IsNullOrEmpty(result.Places[indexPlaces].Name.ToString()) == false)
                    modelPlace.Name = result.Places[indexPlaces].Name;
                if (String.IsNullOrEmpty(result.Places[indexPlaces].Type.ToString()) == false)
                    modelPlace.Type = result.Places[indexPlaces].Type;

                searchFlightViewModel.placesModel.Add(modelPlace);
            }

            //loop data of web service response, insert into CarriersModel and insert CarriersModel into searchFlightViewModel
            for (int indexCarriers = 0; indexCarriers < result.Carriers.Count; indexCarriers++)
            {
                var modelCarrier = new CarriersModel();
                if (String.IsNullOrEmpty(result.Carriers[indexCarriers].CarrierId.ToString()) == false)
                    modelCarrier.CarrierId = result.Carriers[indexCarriers].CarrierId;
                if (String.IsNullOrEmpty(result.Carriers[indexCarriers].Name.ToString()) == false)
                    modelCarrier.Name = result.Carriers[indexCarriers].Name;

                searchFlightViewModel.carriersModel.Add(modelCarrier);
            }

            return searchFlightViewModel;
        }