Advertisement
WindFell

Tasks Await Async

Apr 5th, 2019
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.35 KB | None | 0 0
  1. namespace SportsDataPlatform.Core
  2. {
  3.     using Contracts;
  4.     using SportsDataPlatform.Data.Entities;
  5.     using SportsDataPlatform.Data.Repositories;
  6.     using SportsDataPlatform.Data.Repositories.Contracts;
  7.     using System;
  8.     using System.Threading.Tasks;
  9.  
  10.     public class FlowManager : IFlowManager
  11.     {
  12.         private EventPlacer eventPlacer;
  13.         private EventRetreiver eventRetreiver;
  14.         private IRepository<Event> repository;
  15.  
  16.         public FlowManager()
  17.         {
  18.             this.repository = new Repository<Event>();
  19.             this.eventPlacer = new EventPlacer(this.repository);
  20.             this.eventRetreiver = new EventRetreiver(this.repository);
  21.         }
  22.  
  23.         public void Start()
  24.         {
  25.             PlaceEvent();
  26.             PrintEvent();
  27.             Console.ReadKey();
  28.         }
  29.  
  30.         private async void PlaceEvent()
  31.         {
  32.             while (true)
  33.             {
  34.                 await Task.Run(() => { eventPlacer.PlaceEvent(); }) ;
  35.                 Task.Delay(10000).Wait();
  36.             }
  37.         }
  38.  
  39.         private async void PrintEvent()
  40.         {
  41.             while (true)
  42.             {
  43.                 Task.Delay(10000).Wait();
  44.                 Event ev = await Task<Event>.Run(() => eventRetreiver.Retreive());
  45.                 Console.WriteLine(ev);
  46.             }
  47.         }
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement