public async Task AsyncExecuteAuction(Auction auction, int milisec) { await Task.Delay(milisec); Parallel.ForEach(Agents, agent => { if (agent.WantToSub(auction.Price, auction.JumpOfPrice)) { auction.Agents.Add(agent); auction.Subscribe(agent); } }); TotalPrice.TryAdd(auction.Id, auction.RunAuction()); Console.WriteLine("Total sum is : " + TotalPrice.Values.Sum()); }