mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-04-12 12:06:58 +00:00
added properties to support dynamic time before meeting start for warnings
This commit is contained in:
parent
33c3822b7c
commit
c8e3f752db
5 changed files with 42 additions and 7 deletions
|
|
@ -701,6 +701,14 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps
|
|||
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))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -30,7 +30,15 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
|||
|
||||
public event EventHandler<EventArgs> MeetingsListHasChanged;
|
||||
|
||||
/// <summary>
|
||||
private int _meetingWarningMinutes = 5;
|
||||
|
||||
public int MeetingWarningMinutes
|
||||
{
|
||||
get { return _meetingWarningMinutes; }
|
||||
set { _meetingWarningMinutes = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Setter triggers MeetingsListHasChanged event
|
||||
/// </summary>
|
||||
public List<Meeting> Meetings
|
||||
|
|
@ -102,6 +110,8 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
|||
{
|
||||
public TimeSpan MeetingWarningMinutes = TimeSpan.FromMinutes(5);
|
||||
|
||||
public int MinutesBeforeMeeting;
|
||||
|
||||
public string Id { get; set; }
|
||||
public string Organizer { get; set; }
|
||||
public string Title { get; set; }
|
||||
|
|
@ -134,7 +144,7 @@ namespace PepperDash.Essentials.Devices.Common.Codec
|
|||
{
|
||||
get
|
||||
{
|
||||
return StartTime.AddMinutes(-5) <= DateTime.Now
|
||||
return StartTime.AddMinutes(-MinutesBeforeMeeting) <= DateTime.Now
|
||||
&& DateTime.Now <= EndTime; //.AddMinutes(-5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -484,6 +484,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
{
|
||||
trilist.SetSigFalseAction(joinMap.UpdateMeetings.JoinNumber, codec.GetSchedule);
|
||||
|
||||
trilist.SetUShortSigAction(joinMap.MinutesBeforeMeetingStart.JoinNumber, (i) =>
|
||||
{
|
||||
codec.CodecSchedule.MeetingWarningMinutes = i;
|
||||
});
|
||||
|
||||
codec.CodecSchedule.MeetingsListHasChanged += (sender, args) =>
|
||||
{
|
||||
var clearBytes = XSigHelpers.ClearOutputs();
|
||||
|
|
@ -532,9 +537,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
* Serials
|
||||
* Organizer - 1
|
||||
* Title - 2
|
||||
* Agenda - 3
|
||||
* Start Time - 4
|
||||
* End Time - 5
|
||||
* Start Time - 3
|
||||
* End Time - 4
|
||||
*/
|
||||
|
||||
foreach(var meeting in meetings)
|
||||
|
|
|
|||
|
|
@ -946,8 +946,20 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||
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>
|
||||
/// 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>
|
||||
/// <param name="bookings"></param>
|
||||
/// <returns></returns>
|
||||
|
|
|
|||
|
|
@ -947,7 +947,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||
|
||||
if (codecBookings != null && codecBookings.Count > 0)
|
||||
{
|
||||
CodecSchedule.Meetings = zCommand.GetGenericMeetingsFromBookingResult(codecBookings);
|
||||
CodecSchedule.Meetings = zCommand.GetGenericMeetingsFromBookingResult(
|
||||
codecBookings, CodecSchedule.MeetingWarningMinutes);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue