public CalendarSynchronizationWorker( ICalendar sourceCalendar, ICalendar destinationCalendar, ISynchronizationConfiguration synchronizationConfiguration, AutoResetEvent saveSynchronizationConfigurationsEvent) : this( sourceCalendar, destinationCalendar, synchronizationConfiguration, saveSynchronizationConfigurationsEvent, new CalendarEventSynchronizer()) { }
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); }
public void Initialize() { _synchronizationConfiguration = _configurationService.Get <ISynchronizationConfiguration>(); _communicationService = _communicationServicesRegistry.GetInstance(_synchronizationConfiguration.CommunicationServiceName); }