private async Task <bool> InitAsync() { if (_countries == null) { //Chargement des pays : String countriesFileText = await _contentGetter.GetCountriesData(); lock (_locker) { _countries = JsonConvert.DeserializeObject <List <CountryModel> >(countriesFileText); } String boundariesFileText = await _contentGetter.GetBoundariesData(); lock (_locker) { FeatureCollection fc = JsonConvert.DeserializeObject <FeatureCollection>(boundariesFileText); //La première itération avec une clé vide ne renvoi pas de pays mais l'id de la prochaine itération. CountriesIteration ct = new CountriesIteration(); ct.iterationKey = "1"; ct.finalItemsCount = _countries.Count; _countriesMap.Add("", ct); //La seconde itération renvoi les 20 premiers pays ct = new CountriesIteration(); ct.iterationKey = "2"; ct.finalItemsCount = _countries.Count; ct.countries = new List <CountryModel>(); for (int i = 0; i < 19; i++) { ct.countries.Add(_countries[i]); } _countriesMap.Add("1", ct); //La seconde itération renvoi les 100 pays suivants ct = new CountriesIteration(); ct.iterationKey = "3"; ct.finalItemsCount = _countries.Count; ct.countries = new List <CountryModel>(); for (int i = 19; i < 120; i++) { ct.countries.Add(_countries[i]); } _countriesMap.Add("2", ct); //La dernière itération renvoi le reste. ct = new CountriesIteration(); ct.finalItemsCount = _countries.Count; ct.iterationKey = ""; ct.countries = new List <CountryModel>(); for (int i = 120; i < ct.finalItemsCount; i++) { ct.countries.Add(_countries[i]); } _countriesMap.Add("3", ct); } } return(true); }
private async Task <bool> InitAsync() { if (_countries == null) { String countriesFileText = await _contentGetter.GetCountriesData(); lock (_locker) { _countries = JsonConvert.DeserializeObject <List <CountryModel> >(countriesFileText); } } return(true); }