public CalendarSynchronizationWorker(
     ICalendar sourceCalendar,
     ICalendar destinationCalendar,
     ISynchronizationConfiguration synchronizationConfiguration,
     AutoResetEvent saveSynchronizationConfigurationsEvent)
     : this(
         sourceCalendar, destinationCalendar, synchronizationConfiguration, saveSynchronizationConfigurationsEvent,
         new CalendarEventSynchronizer())
 { }
示例#2
0
        public void Initialize(CancellationToken ct)
        {
            _cancellationToken = ct;
            _cancellationToken.Register(() => { _syncContextChangedUnsibsciber.Dispose(); });
            _synchronizationConfiguration = _configurationService.Get <ISynchronizationConfiguration>();
            _communicationService         = _communicationServicesRegistry.GetInstance(_synchronizationConfiguration.CommunicationServiceName);

            Task.Factory.StartNew(() => {
                ProcessBlocks(ct);
            }, ct, TaskCreationOptions.LongRunning, TaskScheduler.Current);
        }
 public CalendarSynchronizationWorker(
     ICalendar sourceCalendar, 
     ICalendar destinationCalendar,
     ISynchronizationConfiguration synchronizationConfiguration,
     AutoResetEvent saveSynchronizationConfigurationsEvent,
     ICalendarEventSynchronizer calendarEventSynchronizer)
 {
     _sourceCalendar = sourceCalendar;
     _destinationCalendar = destinationCalendar;
     _synchronizationConfiguration = synchronizationConfiguration;
     _saveSynchronizationConfigurationsEvent = saveSynchronizationConfigurationsEvent;
     _calendarEventSynchronizer = calendarEventSynchronizer;
 }
        /// <summary>
        /// Given a synchronization config, return the sync worker.
        /// </summary>
        /// <param name="synchronizationConfiguration"></param>
        /// <param name="calendarConfigurations"></param>
        /// <param name="serviceConfigurations"></param>
        /// <returns></returns>
        public ICalendarSynchronizationWorker GetSynchronizationWorker(
            ISynchronizationConfiguration synchronizationConfiguration,
            IDictionary<Guid, ICalendarConfiguration> calendarConfigurations,
            IDictionary<CalendarType, IServiceConfiguration> serviceConfigurations)
        {
            var sourceCalendarConfig = calendarConfigurations[synchronizationConfiguration.SourceCalendarConfigurationId];
            var sourceServiceConfig = (serviceConfigurations.ContainsKey(sourceCalendarConfig.CalendarType)) ? serviceConfigurations[sourceCalendarConfig.CalendarType] : null;
            var sourceCalendarFactory = GetCalendarFactory(sourceCalendarConfig, sourceServiceConfig);
            var sourceCalendar = sourceCalendarFactory.GetCalendar();

            var destinationCalendarConfig =
                calendarConfigurations[synchronizationConfiguration.DestinationCalendarConfigurationId];
            var destinationServiceConfig = (serviceConfigurations.ContainsKey(destinationCalendarConfig.CalendarType)) ? serviceConfigurations[destinationCalendarConfig.CalendarType] : null;
            var destinationCalendarFactory = GetCalendarFactory(destinationCalendarConfig, destinationServiceConfig);
            var destinationCalendar = destinationCalendarFactory.GetCalendar();

            return new CalendarSynchronizationWorker(sourceCalendar, destinationCalendar,
                                                     synchronizationConfiguration, _saveSynchronizationConfigurationsEvent);
        }
示例#5
0
 public void Initialize()
 {
     _synchronizationConfiguration = _configurationService.Get <ISynchronizationConfiguration>();
     _communicationService         = _communicationServicesRegistry.GetInstance(_synchronizationConfiguration.CommunicationServiceName);
 }