protected MeetingApplicationPoller(ILogger logger, string applicationName, int pollingFrequency, Availability initialMeetingAvailability) : base(logger, applicationName, pollingFrequency) { MeetingDetails = new MeetingDetails() { Availability = initialMeetingAvailability }; }
/// <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"); }
public MeetingStatusMessage(string clientId, IApplication application, IMeetingDetails meetingDetails) { Topic = $"stat/{clientId}/meeting/{application.ApplicationName.ToLower()}"; Payload = new MeetingStatusMessagePayload(meetingDetails.Availability); }