示例#1
0
        public static async Task <string> AtualizarCotacoes(ObservableListSource <ContaAtivo> ativos,
                                                            IProgress <ProgressUpdate> progress)
        {
            var prog  = new ProgressUpdate(ativos.Count());
            var watch = System.Diagnostics.Stopwatch.StartNew();
            await Task.Run(() =>
            {
                Parallel.ForEach <ContaAtivo>(ativos, (ativo) =>
                {
                    ativo.AtualizarCotacao();
                    prog.Increment();
                    progress.Report(prog);
                });
            });

            watch.Stop();
            return($"Duração: {watch.ElapsedMilliseconds / 1000:F2} s");
        }