public AirportController(IAirportDataRepository AirportDataRepository, IGeoLocationRepository GeoLocationRepository, IServiceHelperRepository ServiceHelperRepository, ICacheRepository CacheRepository) { _AirportDataRepository = AirportDataRepository; _GeoLocationRepository = GeoLocationRepository; _ServiceHelperRepository = ServiceHelperRepository; _CacheRepository = CacheRepository; }
/// <summary> /// Returns Airport Detaisl Objecdt which contains both List of Airports and Countries /// </summary> /// <returns></returns> public AirportDetails GetAirportDetails(IServiceHelperRepository _ServiceHelperRepository) { List <Airport> AirportListObj = Helpers.JsonData(_ServiceHelperRepository); AirportDetails AirportDetailsObj = new AirportDetails(); AirportDetailsObj = GetAirportData(AirportListObj, _ServiceHelperRepository); return(AirportDetailsObj); }
/// <summary> /// Get the list of Airport Data available in European Countries /// </summary> /// <param name="AirportListObj"></param> /// <param name="_ServiceHelperRepository"></param> /// <returns></returns> public AirportDetails GetAirportData(List <Airport> AirportListObj, IServiceHelperRepository _ServiceHelperRepository) { var EuropeanCities = AirportListObj.Where(x => x.continent.ToLower().Equals(Constants.Constants.EU) && x.continent.Length > 0 && x.status != 0).ToList(); HashSet <string> countrySet = new HashSet <string>(EuropeanCities.Select(x => x.iso).ToList()); AirportDetails AirportDetailsObj = new AirportDetails(); AirportDetailsObj.AirportDetailsList = EuropeanCities; AirportDetailsObj.CountryList = _ServiceHelperRepository.GetCountryStream(countrySet); return(AirportDetailsObj); }
//Json data method:to get user details from json file public static List <Airport> JsonData(IServiceHelperRepository _ServiceHelperRepository) { //get the Json filepath var file = _ServiceHelperRepository.GetjsonStream(); //deserialize JSON from file if (!string.IsNullOrEmpty(file)) { var AirportData = JsonConvert.DeserializeObject <List <Airport> >(file); return(AirportData); } return(null); }