Ejemplo n.º 1
0
        private async Task <TokenBalanceView[]> GetTokenBalances(ulong identifier)
        {
            var balances = await balanceService.GetAllErc20TokenBalancesAsync(identifier);

            var balanceViews = new ConcurrentBag <TokenBalanceView>();

            async Task DoWork(TokenBalanceStamp balanceStamp)
            {
                var course = await coursesService.GetTokenCourse(balanceStamp.Symbol.ToUpperInvariant());

                balanceViews.Add(new TokenBalanceView(balanceStamp, course.USD));
            }

            var tasks = balances.Select(DoWork);
            await Task.WhenAll(tasks.ToArray());

            return(balanceViews.ToArray());
        }