コード例 #1
0
        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);
        }
コード例 #2
0
        private async Task <bool> InitAsync()
        {
            if (_countries == null)
            {
                String countriesFileText = await _contentGetter.GetCountriesData();

                lock (_locker)
                {
                    _countries = JsonConvert.DeserializeObject <List <CountryModel> >(countriesFileText);
                }
            }
            return(true);
        }