private async void ToCity_TextChanged(object sender, AutoSuggestBoxTextChangedEventArgs args) { var suggest = sender as AutoSuggestBox; if (args == null || args.Reason != AutoSuggestionBoxTextChangeReason.UserInput || string.IsNullOrEmpty(suggest.Text)) { suggest.ItemsSource = null; _viewModel.ToCity = new CityDto(); return; } var namePart = new NamePartDto { Part = suggest.Text, CountryId = _viewModel.ToCountry.Id }; var serializedNamePart = JsonConvert.SerializeObject(namePart); var(_, content) = await _network.LoadDataPostAsync(Url.CityList, serializedNamePart, null); if (string.IsNullOrEmpty(content)) { return; } var cityList = JsonConvert.DeserializeObject <List <CityDto> >(content); suggest.ItemsSource = cityList; if (suggest.Text.Length == 0) { suggest.ItemsSource = null; } }
public async Task <IEnumerable <CountryDto> > GetListAsync([FromBody, BindRequired] NamePartDto namePartDto) { if (namePartDto == null) { throw new ArgumentNullException(nameof(namePartDto)); } var currentCulture = _customRequestCultureProvider.DetermineProviderCultureResult(HttpContext); return(await _countryService.GetCountryListByNamePartAsync(namePartDto, currentCulture)); }
public async Task <IEnumerable <CityDto> > GetCityListByNamePartAsync(NamePartDto namePartDto, string currentCulture) { if (namePartDto == null) { throw new ArgumentNullException(nameof(namePartDto)); } if (string.IsNullOrEmpty(namePartDto.Part)) { throw new ArgumentNullException(nameof(namePartDto.Part)); } var namePart = namePartDto.Part; List <City> cityList; switch (currentCulture) { case Cultures.En: cityList = await _cityStorage.GetCityListByNamePartAsNoTrackingAsync(namePart, namePartDto.CountryId); break; case Cultures.Ru: cityList = await _cityStorage.GetCityListByNamePartRuAsNoTrackingAsync(namePart, namePartDto.CountryId); break; default: cityList = await _cityStorage.GetCityListByNamePartRuAsNoTrackingAsync(namePart, namePartDto.CountryId); break; } var cityDtoList = cityList.Select(x => new CityDto { Id = x.Id, Name = $"{x.Name}, {x.Country.Name}", Country = x.Country }); return(cityDtoList); }
private async void FromCity_TextChanged(object sender, AutoSuggestBoxTextChangedEventArgs args) { if (args == null) { throw new ArgumentNullException(nameof(args)); } var suggest = sender as AutoSuggestBox; if (args.Reason != AutoSuggestionBoxTextChangeReason.UserInput || string.IsNullOrEmpty(suggest?.Text)) { if (suggest != null) { suggest.ItemsSource = null; } _viewModel.FromCity = null; return; } var namePart = new NamePartDto { Part = suggest.Text }; var serializedNamePart = JsonConvert.SerializeObject(namePart); var(_, content) = await _network.LoadDataPostAsync(Url.CityList, serializedNamePart, null); if (string.IsNullOrEmpty(content)) { return; } var cityList = JsonConvert.DeserializeObject <List <CityDto> >(content); suggest.ItemsSource = cityList; if (suggest.Text.Length == 0) { suggest.ItemsSource = null; } }