Ejemplo n.º 1
0
 public void Start(ITimeHolder timeHolder)
 {
     _timer = new Timer((e) =>
     {
         timeHolder.Time = DateTime.UtcNow;
     }, null, TimeSpan.Zero, TimeSpan.FromSeconds(1));
 }
Ejemplo n.º 2
0
        private async void Sync(ITimeHolder timeHolder)
        {
            var temp = await _webAPI.GetTimeAsync();

            if (Math.Abs((temp - timeHolder.Time).TotalSeconds) > 10)
            {
                timeHolder.Time = temp;
            }
        }
Ejemplo n.º 3
0
        public void Start(ITimeHolder timeHolder)
        {
            var counter = 0;

            _timer = new Timer((e) =>
            {
                if (counter % 5 == 0)
                {
                    Sync(timeHolder);
                }
                timeHolder.Time = timeHolder.Time.AddSeconds(1);
                counter++;
            }, null, TimeSpan.Zero, TimeSpan.FromSeconds(1));
        }
Ejemplo n.º 4
0
        public async Task InvokeAsync(HttpContext context, ITimeHolder timeholder)
        {
            var currentTime = DateTimeOffset.UtcNow;

            if (currentTime.Hour > 8 && currentTime.Hour < 16)
            {
                timeholder.Memorize(currentTime);

                BeforeGoingToNextMiddleware(context);

                await _next.Invoke(context);

                ReturningFromNextMiddleware(context);
            }
        }
 public WeatherForecastController(ILogger <WeatherForecastController> logger, ITimeHolder timeHolder)
 {
     _logger     = logger;
     _timeHolder = timeHolder;
 }