Esempio n. 1
0
        public IEnumerable <Flight> SearchAvaibleFlights(SearchFlightsViewModel filters)
        {
            var jsonFilters = new FiltersJsonObject();

            IEnumerable <Flight> result =
                this._apiConn.SearchFlights(filters, jsonFilters).ToImmutableList();

            return(result);
        }
Esempio n. 2
0
        // This method creates the json string with the query data.
        // It receives the filters to search from the view-model and put the data into
        // FiltersJsonObject. This last object is serialized as a Json string.
        private string PrepareJson(SearchFlightsViewModel filters, FiltersJsonObject queryApiJson)
        {
            queryApiJson.Destination = filters.Destination;
            queryApiJson.Origin      = filters.Origin;
            queryApiJson.From        = filters.From.ToString("yyyy-MM-dd");

            string jsonFilters = JsonConvert.SerializeObject(queryApiJson);

            return(jsonFilters);
        }
Esempio n. 3
0
        // This is the principal method. It uses the two previous methods for search avaible flights in the api,
        // and if it finds return a list of flights, but if it doesn´t find any flight it throws a exception.
        public List <Flight> SearchFlights(SearchFlightsViewModel filters,
                                           FiltersJsonObject queryApiJson)
        {
            var           jsonFilters = PrepareJson(filters, queryApiJson);
            dynamic       result      = this._apiConn.Post(this.ApiUrl, jsonFilters);
            List <Flight> flights     = null;

            if (result != null)
            {
                flights = GetFlights(result);
                bool isEmptyList = flights[0] == null;

                if (!isEmptyList)
                {
                    return(flights);
                }
                else
                {
                    flights = null;
                }
            }

            return(flights);
        }