public List <AddressName> GetCities(string keyword) { var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "custermisedui", "chinaregion", "city.json"); var cityvalues = new Dictionary <string, List <CityObject> >(); using (StreamReader reader = new StreamReader(path)) { string json = reader.ReadToEnd(); cityvalues = JsonConvert.DeserializeObject <Dictionary <string, List <CityObject> > >(json); } var provinceid = ProvinceItems.Where(x => x.name == keyword).Select(x => x.id).FirstOrDefault(); CityItems = cityvalues.Where(x => x.Key == provinceid).SelectMany(x => x.Value).Select(x => new AddressName { Text = x.name, Value = x.id }).ToList(); CityItemNames = JsonConvert.SerializeObject(CityItems); var rv = cityvalues.Where(x => x.Key == provinceid).SelectMany(x => x.Value).Select(x => new { x.name }).ToList(); List <AddressName> citynames = new List <AddressName>(); foreach (var obj in rv) { citynames.Add(new AddressName() { Text = obj.name, Value = obj.name }); CityNmaes.Add(obj.name); } return(citynames); }
private async Task LoadProvinceItemsAsync() { IsBusy = true; // 模拟网络不好的情况 // await Task.Delay(3000); var provinces = await Task.Run(() => { return(QzSdk.Qz.GetProvinces()); }); foreach (var item in provinces) { ProvinceItems.Add(item); } IsBusy = false; }
public void LoadProvince() { //Load Province var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "custermisedui", "chinaregion", "province.json"); using (StreamReader reader = new StreamReader(path)) //using (JsonTextReader reader = new JsonTextReader(file)) { string json = reader.ReadToEnd(); ProvinceItems = JsonConvert.DeserializeObject <List <AdddressJsonObject> >(json); } var rv = ProvinceItems.Select(x => new { x.name }).ToList(); ProvinceNames = new List <string>(); foreach (var obj in rv) { ProvinceNames.Add(obj.name); } CityNmaes = new List <string>(); DistrictNames = new List <string>(); }