Пример #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();
 }
Пример #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));
     }
 }
Пример #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;
 }
Пример #5
0
 public SmsAddressLookupService(IExchangeServiceManager exchangeServiceManager)
 {
     _exchangeServiceManager = exchangeServiceManager;
 }
Пример #6
0
 public ExchangeConferenceRoomDiscoveryService(ISimpleTimedCache simpleTimedCache, IExchangeServiceManager exchangeServiceManager)
 {
     _simpleTimedCache       = simpleTimedCache;
     _exchangeServiceManager = exchangeServiceManager;
 }