コード例 #1
0
 protected MeetingApplicationPoller(ILogger logger, string applicationName, int pollingFrequency, Availability initialMeetingAvailability) : base(logger, applicationName, pollingFrequency)
 {
     MeetingDetails = new MeetingDetails()
     {
         Availability = initialMeetingAvailability
     };
 }
コード例 #2
0
        /// <summary>
        /// Gets the text to put on the status tray icon
        /// </summary>
        /// <param name="application"></param>
        /// <param name="meetingDetails"></param>
        /// <returns></returns>
        private string GetMeetingApplicationStatusText(IApplication application, IMeetingDetails meetingDetails)
        {
            if (!application.IsInstalled)
            {
                return($"{application.ApplicationName} not installed");
            }
            var availableMessage = $"{application.ApplicationName} available";
            var busyMessage      = $"{application.ApplicationName} in meeting";

            switch (meetingDetails.Availability)
            {
            case (Availability.FREE):
                return(availableMessage);

            case (Availability.BUSY):
                return(busyMessage);
            }

            return($"{application.ApplicationName} unknown state");
        }
コード例 #3
0
 public MeetingStatusMessage(string clientId, IApplication application, IMeetingDetails meetingDetails)
 {
     Topic   = $"stat/{clientId}/meeting/{application.ApplicationName.ToLower()}";
     Payload = new MeetingStatusMessagePayload(meetingDetails.Availability);
 }