public async Task <IActionResult> SelectCity(string Country)
        {
            var topcitiesDataString = await GetAllCities.LoadAllCitiesData();

            var citiesList           = JsonConvert.DeserializeObject <List <CityInfoModel> >(topcitiesDataString);
            var topCitiesFromCountry = citiesList.Where(city => city.Country.ID == Country);

            if (topCitiesFromCountry.Count() == 0)
            {
                //return city search view
                //get admin area list

                /*
                 * string url = $"http://dataservice.accuweather.com/locations/v1/adminareas/{ Country }?apikey=KAsv18xGJd2pRClNCSKaDLR4NOx9HCPM";
                 * var adminAreasData = await CallApiEndPoint.LoadDataFromGivenUrl(url);
                 * var adminAreaList = JsonConvert.DeserializeObject<List<AdminAreaModel>>(adminAreasData);*/
                CitySearchModel csm = new CitySearchModel();
                csm.CountryCode = Country;

                return(View("CitySearch", csm));
            }
            else
            {
                //return available cities
                List <SelectListItem> cityListToRender = topCitiesFromCountry.Select(city => new SelectListItem
                {
                    Text  = city.EnglishName,
                    Value = city.Key
                }).ToList();
                CityViewModel cityvm = new CityViewModel();
                cityvm.CitiesList = cityListToRender;

                return(View(cityvm));
            }
        }
        /// <summary>
        /// Represents a search result.
        /// </summary>
        /// <param name="searchModel"></param>
        /// <returns></returns>
        public IActionResult Results(CitySearchModel searchModel)
        {
            var cities = cityDAL.GetCities(searchModel.CountryCode, searchModel.District);

            // Update the search model with the cities returned
            searchModel.Results = cities;

            // Display search results
            return(View(searchModel));
        }
        public IActionResult SearchResults(CitySearchModel search)
        {
            //get the list of cities
            var cities = cityDao.GetCities(search.CountryCode, search.District);

            //add the cities to my model
            search.Results = cities;

            //send it to the view
            return(View(search));
        }
Esempio n. 4
0
        /// <summary>
        /// Represents a search result.
        /// </summary>
        /// <param name="searchModel"></param>
        /// <returns></returns>
        public IActionResult Results(CitySearchModel searchModel)
        {
            // Use the search model to get our data
            // Connection Strings are outside of the scope of this content
            var cities = cityDao.GetCities(searchModel.CountryCode, searchModel.District);

            // Update the search model with the cities returned
            searchModel.Results = cities;

            // Display search results
            return(View(searchModel));
        }
        /// <summary>
        /// Represents a search action.
        /// </summary>
        /// <returns></returns>
        public IActionResult Search()
        {
            CitySearchModel model     = new CitySearchModel();
            var             countries = cityDAL.GetCountries();

            foreach (var country in countries)
            {
                model.Countries.Add(new SelectListItem(country.Name, country.Code));
            }

            // Display a search page
            return(View(model));
        }
Esempio n. 6
0
        public IEnumerable <CityModel> FindCityByStreet(CitySearchModel searchModel)
        {
            var citiesWithStreet = _unit.CityRepository.FindByCondition(c => c.Streets.Select(s => s.Name).Contains(searchModel.StreetName)).ToList();

            if (!searchModel.HouseNumber.HasValue)
            {
                return(_mapper.Map <IEnumerable <CityModel> >(citiesWithStreet));
            }
            {
                var citiesWithStreetThatHasHouseWithNumber = citiesWithStreet.Where(c => c.Streets.Any(s => s.Houses.Any(h => h.Id == searchModel.HouseNumber)));

                return(_mapper.Map <IEnumerable <CityModel> >(citiesWithStreetThatHasHouseWithNumber));
            }
        }
        public async Task <IActionResult> CitySearchResults(CitySearchModel csm)
        {
            string url = $"http://dataservice.accuweather.com/locations/v1/cities/{ csm.CountryCode }/search?apikey=KAsv18xGJd2pRClNCSKaDLR4NOx9HCPM&q={csm.SearchString}";

            var citySearchData = await CallApiEndPoint.LoadDataFromGivenUrl(url);

            var citiesList = JsonConvert.DeserializeObject <List <CityInfoModel> >(citySearchData);
            List <SelectListItem> cityListToRender = citiesList.Select(city => new SelectListItem
            {
                Text  = city.EnglishName,
                Value = city.Key
            }).ToList();
            CityViewModel cityvm = new CityViewModel();

            cityvm.CitiesList = cityListToRender;
            return(View("SelectCity", cityvm));
        }
Esempio n. 8
0
        public ActionResult <IEnumerable <CityModel> > FindCityByStreet([FromBody] CitySearchModel searchModel)
        {
            var cities = _mapService.FindCityByStreet(searchModel);

            return(Ok(cities));
        }
Esempio n. 9
0
 public IActionResult SearchResults(CitySearchModel search)
 {
     return(View());
 }