Add MySql result loader

This commit is contained in:
Elton Stoneman
2018-09-26 11:32:50 +01:00
parent 985af62bb1
commit 97d0ae2170
44 changed files with 71 additions and 23852 deletions

View File

@ -1,22 +1,21 @@
using System;
using System.Timers;
using System.Timers;
using Microsoft.AspNetCore.SignalR;
using Microsoft.Extensions.Configuration;
using Result.Data;
using Result.Hubs;
using Result.Models;
namespace Result.Timers
{
public class PublishResultsTimer
{
private readonly IHubContext<ResultsHub> _hubContext;
private readonly IResultData _resultData;
private readonly Timer _timer;
//TODO- temp
private static Random _Random = new Random();
public PublishResultsTimer(IHubContext<ResultsHub> hubContext, IConfiguration configuration)
public PublishResultsTimer(IHubContext<ResultsHub> hubContext, IResultData resultData, IConfiguration configuration)
{
_hubContext = hubContext;
_resultData = resultData;
var publishMilliseconds = configuration.GetValue<int>("ResultsTimer:PublishMilliseconds");
_timer = new Timer(publishMilliseconds)
{
@ -35,12 +34,7 @@ namespace Result.Timers
private void PublishResults(object sender, ElapsedEventArgs e)
{
var model = new ResultsModel
{
OptionA = _Random.Next(0, 100),
OptionB = _Random.Next(0, 100)
};
model.VoteCount = model.OptionA + model.OptionB;
var model = _resultData.GetResults();
_hubContext.Clients.All.SendAsync("UpdateResults", model);
}
}