2015-04-27 13:40:57 -04:00
|
|
|
|
using System;
|
2021-08-29 14:10:10 -04:00
|
|
|
|
using SharedLibraryCore.Dtos;
|
2015-04-27 13:40:57 -04:00
|
|
|
|
|
2018-04-08 02:44:42 -04:00
|
|
|
|
namespace SharedLibraryCore.Helpers
|
2015-04-27 13:40:57 -04:00
|
|
|
|
{
|
2015-08-22 02:04:30 -04:00
|
|
|
|
public class PlayerHistory
|
2015-04-27 13:40:57 -04:00
|
|
|
|
{
|
2017-11-02 12:49:45 -04:00
|
|
|
|
// how many minutes between updates
|
|
|
|
|
public static readonly int UpdateInterval = 5;
|
|
|
|
|
|
2022-01-26 11:32:16 -05:00
|
|
|
|
private readonly DateTime When;
|
|
|
|
|
|
2017-09-27 16:07:43 -04:00
|
|
|
|
public PlayerHistory(int cNum)
|
2015-04-27 13:40:57 -04:00
|
|
|
|
{
|
2022-01-26 11:32:16 -05:00
|
|
|
|
var t = DateTime.UtcNow;
|
|
|
|
|
When = new DateTime(t.Year, t.Month, t.Day, t.Hour,
|
|
|
|
|
Math.Min(59, UpdateInterval * (int)Math.Round(t.Minute / (float)UpdateInterval)), 0);
|
2019-04-06 22:48:49 -04:00
|
|
|
|
y = cNum;
|
2017-09-27 16:07:43 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2022-01-26 11:32:16 -05:00
|
|
|
|
/// Used by CanvasJS as a point on the x axis
|
2017-09-27 16:07:43 -04:00
|
|
|
|
/// </summary>
|
2022-01-26 11:32:16 -05:00
|
|
|
|
public string x => When.ToString("yyyy-MM-ddTHH:mm:ssZ");
|
2017-09-27 16:07:43 -04:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
2022-01-26 11:32:16 -05:00
|
|
|
|
/// Used by CanvasJS as a point on the y axis
|
2017-09-27 16:07:43 -04:00
|
|
|
|
/// </summary>
|
2019-04-06 22:48:49 -04:00
|
|
|
|
public int y { get; }
|
2021-08-29 14:10:10 -04:00
|
|
|
|
|
|
|
|
|
public ClientCountSnapshot ToClientCountSnapshot()
|
|
|
|
|
{
|
|
|
|
|
return new ClientCountSnapshot
|
|
|
|
|
{
|
|
|
|
|
ClientCount = y,
|
|
|
|
|
Time = When
|
|
|
|
|
};
|
|
|
|
|
}
|
2015-04-27 13:40:57 -04:00
|
|
|
|
}
|
2022-01-26 11:32:16 -05:00
|
|
|
|
}
|