ecs-646 Daily Fusion server time query.

This commit is contained in:
Neil Dorin
2017-11-15 15:59:35 -07:00
parent f9cb4e8a34
commit 4d6a680f23
4 changed files with 25 additions and 3 deletions

View File

@@ -72,6 +72,7 @@ namespace PepperDash.Essentials.Core
public enum eJobTimerCycleTypes
{
RunEveryDay,
RunEveryHour,
RunEveryHalfHour,
RunEveryMinute

View File

@@ -97,6 +97,8 @@ namespace PepperDash.Essentials.Fusion
CTimer PushNotificationTimer = null;
CTimer DailyTimeRequestTimer = null;
// Default poll time is 5 min unless overridden by config value
public long SchedulePollInterval = 300000;
@@ -465,16 +467,35 @@ namespace PepperDash.Essentials.Fusion
// Request current Fusion Server Time
RequestLocalDateTime(null);
string timeRequestID = "TimeRequest";
// Setup timer to request time daily
if (DailyTimeRequestTimer != null && !DailyTimeRequestTimer.Disposed)
{
DailyTimeRequestTimer.Stop();
DailyTimeRequestTimer.Dispose();
}
string timeRequest = string.Format("<LocalTimeRequest><RequestID>{0}</RequestID></LocalTimeRequest>", timeRequestID);
DailyTimeRequestTimer = new CTimer(RequestLocalDateTime, null, 86400000, 86400000);
FusionRoom.ExtenderFusionRoomDataReservedSigs.LocalDateTimeQuery.StringValue = timeRequest;
DailyTimeRequestTimer.Reset(86400000, 86400000);
}
}
/// <summary>
/// Requests the local date and time from the Fusion Server
/// </summary>
/// <param name="callbackObject"></param>
public void RequestLocalDateTime(object callbackObject)
{
string timeRequestID = "TimeRequest";
string timeRequest = string.Format("<LocalTimeRequest><RequestID>{0}</RequestID></LocalTimeRequest>", timeRequestID);
FusionRoom.ExtenderFusionRoomDataReservedSigs.LocalDateTimeQuery.StringValue = timeRequest;
}
/// <summary>
/// Generates a room schedule request for this room for the next 24 hours.
/// </summary>