Exemplo n.º 1
0
        private async Task LoadAllData()
        {
            var n       = this.JsonUrls.Count;
            var tasks   = new Task <List <Stock> > [n];
            var results = new List <Stock> [n];

            // Create and start the tasks
            int k = 0;

            foreach (var market in JsonUrls.Keys)
            {
                var url = JsonUrls[market];
                tasks[k] = WebController.GetStocksAsync(market, url);
                k++;
            }

            // Wait for each task to finish and populate stockList
            for (int i = 0; i < n; i++)
            {
                results[i] = await tasks[i];
                foreach (var s in results[i])
                {
                    this.stockList[s.Id] = s;
                }

                this.UpdateLoadingPercentage(i + 1, n);
            }
        }
Exemplo n.º 2
0
        private async Task LoadAllData()
        {
            var n       = this.JsonUrls.Count;
            var tasks   = new Task <List <Stock> > [n];
            var results = new List <Stock> [n];

            // Create and start the tasks
            for (int i = 0; i < n; i++)
            {
                tasks[i] = WebController.GetStocksAsync(this.JsonUrls[i]);
            }

            // Wait for each task to finish and populate stockList
            for (int i = 0; i < n; i++)
            {
                results[i] = await tasks[i];
                foreach (var s in results[i])
                {
                    this.stockList[s.Id] = s;
                }

                this.UpdateLoadingPercentage(i + 1, n);
            }

            // this.stockList = results.SelectMany(x => x).ToDictionary(s => s.Id, s => s);
        }