mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-13 19:54:59 +00:00
added properties to support dynamic time before meeting start for warnings
This commit is contained in:
@@ -701,6 +701,14 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps
|
|||||||
JoinType = eJoinType.Analog
|
JoinType = eJoinType.Analog
|
||||||
});
|
});
|
||||||
|
|
||||||
|
[JoinName("MinutesBeforeMeetingStart")] public JoinDataComplete MinutesBeforeMeetingStart =
|
||||||
|
new JoinDataComplete(new JoinData {JoinNumber = 41, JoinSpan = 1},
|
||||||
|
new JoinMetadata
|
||||||
|
{
|
||||||
|
Description = "Minutes before meeting start that a meeting is joinable",
|
||||||
|
JoinCapabilities = eJoinCapabilities.FromSIMPL,
|
||||||
|
JoinType = eJoinType.Analog
|
||||||
|
});
|
||||||
|
|
||||||
public VideoCodecControllerJoinMap(uint joinStart) : base(joinStart, typeof (VideoCodecControllerJoinMap))
|
public VideoCodecControllerJoinMap(uint joinStart) : base(joinStart, typeof (VideoCodecControllerJoinMap))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -30,7 +30,15 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
|||||||
|
|
||||||
public event EventHandler<EventArgs> MeetingsListHasChanged;
|
public event EventHandler<EventArgs> MeetingsListHasChanged;
|
||||||
|
|
||||||
/// <summary>
|
private int _meetingWarningMinutes = 5;
|
||||||
|
|
||||||
|
public int MeetingWarningMinutes
|
||||||
|
{
|
||||||
|
get { return _meetingWarningMinutes; }
|
||||||
|
set { _meetingWarningMinutes = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
/// Setter triggers MeetingsListHasChanged event
|
/// Setter triggers MeetingsListHasChanged event
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Meeting> Meetings
|
public List<Meeting> Meetings
|
||||||
@@ -102,6 +110,8 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
|||||||
{
|
{
|
||||||
public TimeSpan MeetingWarningMinutes = TimeSpan.FromMinutes(5);
|
public TimeSpan MeetingWarningMinutes = TimeSpan.FromMinutes(5);
|
||||||
|
|
||||||
|
public int MinutesBeforeMeeting;
|
||||||
|
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
public string Organizer { get; set; }
|
public string Organizer { get; set; }
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
@@ -134,7 +144,7 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return StartTime.AddMinutes(-5) <= DateTime.Now
|
return StartTime.AddMinutes(-MinutesBeforeMeeting) <= DateTime.Now
|
||||||
&& DateTime.Now <= EndTime; //.AddMinutes(-5);
|
&& DateTime.Now <= EndTime; //.AddMinutes(-5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -484,6 +484,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
{
|
{
|
||||||
trilist.SetSigFalseAction(joinMap.UpdateMeetings.JoinNumber, codec.GetSchedule);
|
trilist.SetSigFalseAction(joinMap.UpdateMeetings.JoinNumber, codec.GetSchedule);
|
||||||
|
|
||||||
|
trilist.SetUShortSigAction(joinMap.MinutesBeforeMeetingStart.JoinNumber, (i) =>
|
||||||
|
{
|
||||||
|
codec.CodecSchedule.MeetingWarningMinutes = i;
|
||||||
|
});
|
||||||
|
|
||||||
codec.CodecSchedule.MeetingsListHasChanged += (sender, args) =>
|
codec.CodecSchedule.MeetingsListHasChanged += (sender, args) =>
|
||||||
{
|
{
|
||||||
var clearBytes = XSigHelpers.ClearOutputs();
|
var clearBytes = XSigHelpers.ClearOutputs();
|
||||||
@@ -532,9 +537,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
* Serials
|
* Serials
|
||||||
* Organizer - 1
|
* Organizer - 1
|
||||||
* Title - 2
|
* Title - 2
|
||||||
* Agenda - 3
|
* Start Time - 3
|
||||||
* Start Time - 4
|
* End Time - 4
|
||||||
* End Time - 5
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
foreach(var meeting in meetings)
|
foreach(var meeting in meetings)
|
||||||
|
|||||||
@@ -946,8 +946,20 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
public ThirdParty ThirdParty { get; set; }
|
public ThirdParty ThirdParty { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<Meeting> GetGenericMeetingsFromBookingResult(List<BookingsListResult> bookings,
|
||||||
|
int minutesBeforeMeetingStart)
|
||||||
|
{
|
||||||
|
var rv = GetGenericMeetingsFromBookingResult(bookings);
|
||||||
|
|
||||||
|
foreach (var meeting in rv)
|
||||||
|
{
|
||||||
|
meeting.MinutesBeforeMeeting = minutesBeforeMeetingStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Extracts the necessary meeting values from the Cisco bookings response ans converts them to the generic class
|
/// Extracts the necessary meeting values from the Zoom bookings response and converts them to the generic class
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="bookings"></param>
|
/// <param name="bookings"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
|||||||
@@ -947,7 +947,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
|
|
||||||
if (codecBookings != null && codecBookings.Count > 0)
|
if (codecBookings != null && codecBookings.Count > 0)
|
||||||
{
|
{
|
||||||
CodecSchedule.Meetings = zCommand.GetGenericMeetingsFromBookingResult(codecBookings);
|
CodecSchedule.Meetings = zCommand.GetGenericMeetingsFromBookingResult(
|
||||||
|
codecBookings, CodecSchedule.MeetingWarningMinutes);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user