Example #1
0
 public ExchangeConferenceRoomService(IMeetingRepository meetingRepository,
                                      ISecurityRepository securityRepository,
                                      IBroadcastService broadcastService,
                                      IDateTimeService dateTimeService,
                                      IMeetingCacheService meetingCacheService,
                                      IChangeNotificationService changeNotificationService,
                                      IExchangeServiceManager exchangeServiceManager,
                                      ISimpleTimedCache simpleTimedCache,
                                      IInstantMessagingService instantMessagingService,
                                      ISmsMessagingService smsMessagingService,
                                      ISmsAddressLookupService smsAddressLookupService,
                                      ISignatureService signatureService,
                                      IRoomRepository roomRepository)
 {
     _meetingRepository         = meetingRepository;
     _securityRepository        = securityRepository;
     _broadcastService          = broadcastService;
     _dateTimeService           = dateTimeService;
     _meetingCacheService       = meetingCacheService;
     _changeNotificationService = changeNotificationService;
     _exchangeServiceManager    = exchangeServiceManager;
     _simpleTimedCache          = simpleTimedCache;
     _instantMessagingService   = instantMessagingService;
     _smsMessagingService       = smsMessagingService;
     _smsAddressLookupService   = smsAddressLookupService;
     _signatureService          = signatureService;
     _roomRepository            = roomRepository;
     _ignoreFree             = bool.Parse(ConfigurationManager.AppSettings["ignoreFree"] ?? "false");
     _useChangeNotification  = bool.Parse(ConfigurationManager.AppSettings["useChangeNotification"] ?? "true");
     _impersonateForAllCalls = bool.Parse(ConfigurationManager.AppSettings["impersonateForAllCalls"] ?? "true");
     _emailDomains           = (ConfigurationManager.AppSettings["emailDomains"] ?? "")
                               .Split(';')
                               .Select(_ => _.StartsWith("@") ? _.ToLowerInvariant() : "@" + _.ToLowerInvariant())
                               .ToArray();
 }
Example #2
0
 public void TrackRoom(IRoom room, IExchangeServiceManager exchangeServiceManager, OrganizationEntity organization)
 {
     lock (_roomsTracked)
     {
         if (_roomsTracked.ContainsKey(room.RoomAddress))
         {
             return;
         }
         _roomsTracked.Add(room.RoomAddress, new Watcher(exchangeServiceManager, _broadcastService, _meetingCacheService, room, organization));
     }
 }
Example #3
0
            public Watcher(IExchangeServiceManager exchangeServiceManager, IBroadcastService broadcastService, IMeetingCacheService meetingCacheService, IRoom room, OrganizationEntity organization)
            {
                IsActive = false;

                _exchangeServiceManager = exchangeServiceManager;
                _broadcastService       = broadcastService;
                _meetingCacheService    = meetingCacheService;
                _room         = room;
                _organization = organization;
                _startConnectionTimer.Stop();
                _startConnectionTimer.Elapsed += StartConnectionTimerOnElapsed;
                Task.Run(() => UpdateConnection()); // don't wait for this to complete
            }
 public ExchangeConferenceRoomService(IMeetingRepository meetingRepository,
                                      IBroadcastService broadcastService,
                                      IDateTimeService dateTimeService,
                                      IMeetingCacheService meetingCacheService,
                                      IChangeNotificationService changeNotificationService,
                                      IExchangeServiceManager exchangeServiceManager,
                                      ISimpleTimedCache simpleTimedCache,
                                      ISmsMessagingService smsMessagingService,
                                      ISmsAddressLookupService smsAddressLookupService,
                                      ISignatureService signatureService,
                                      IRoomMetadataRepository roomRepository,
                                      IBuildingRepository buildingRepository,
                                      IFloorRepository floorRepository,
                                      IContextService contextService,
                                      IConferenceRoomDiscoveryService exchangeConferenceRoomDiscoveryService,
                                      ExchangeConferenceRoomServiceConfiguration config)
 {
     if (config == null)
     {
         throw new ArgumentNullException(nameof(config));
     }
     _meetingRepository         = meetingRepository;
     _broadcastService          = broadcastService;
     _dateTimeService           = dateTimeService;
     _meetingCacheService       = meetingCacheService;
     _changeNotificationService = changeNotificationService;
     _exchangeServiceManager    = exchangeServiceManager;
     _simpleTimedCache          = simpleTimedCache;
     _smsMessagingService       = smsMessagingService;
     _smsAddressLookupService   = smsAddressLookupService;
     _signatureService          = signatureService;
     _roomRepository            = roomRepository;
     _buildingRepository        = buildingRepository;
     _floorRepository           = floorRepository;
     _contextService            = contextService;
     _exchangeConferenceRoomDiscoveryService = exchangeConferenceRoomDiscoveryService;
     _ignoreFree             = config.IgnoreFree;
     _useChangeNotification  = config.UseChangeNotification;
     _impersonateForAllCalls = config.ImpersonateForAllCalls;
     _emailDomains           = config.EmailDomains;
 }
Example #5
0
 public SmsAddressLookupService(IExchangeServiceManager exchangeServiceManager)
 {
     _exchangeServiceManager = exchangeServiceManager;
 }
Example #6
0
 public ExchangeConferenceRoomDiscoveryService(ISimpleTimedCache simpleTimedCache, IExchangeServiceManager exchangeServiceManager)
 {
     _simpleTimedCache       = simpleTimedCache;
     _exchangeServiceManager = exchangeServiceManager;
 }