private ISynchronizer CreateTaskSynchronizer(Options options) { var storageDataDirectory = Path.Combine( _applicationDataDirectory, options.Id.ToString() ); var storageDataAccess = new EntityRelationDataAccess <string, DateTime, OutlookEventRelationData, Uri, string> (storageDataDirectory); var btypeIdEqualityComparer = EqualityComparer <Uri> .Default; var atypeIdComparer = EqualityComparer <string> .Default; var synchronizationContext = new TaskSynchronizationContext( _outlookSession, storageDataAccess, options, TimeSpan.Parse(ConfigurationManager.AppSettings["calDavConnectTimeout"]), TimeSpan.Parse(ConfigurationManager.AppSettings["calDavReadWriteTimeout"]), Boolean.Parse(ConfigurationManager.AppSettings["disableCertificateValidation"]), Boolean.Parse(ConfigurationManager.AppSettings["enableSsl3"]), Boolean.Parse(ConfigurationManager.AppSettings["enableTls12"]), btypeIdEqualityComparer); var syncStateFactory = new EntitySyncStateFactory <string, DateTime, TaskItemWrapper, Uri, string, IICalendar> ( synchronizationContext.EntityMapper, synchronizationContext.AtypeRepository, synchronizationContext.BtypeRepository, synchronizationContext.EntityRelationDataFactory, ExceptionHandler.Instance); return(new Synchronizer <string, DateTime, TaskItemWrapper, Uri, string, IICalendar> ( synchronizationContext, InitialTaskSyncStateCreationStrategyFactory.Create( syncStateFactory, syncStateFactory.Environment, options.SynchronizationMode, options.ConflictResolution), _totalProgressFactory, atypeIdComparer, btypeIdEqualityComparer, ExceptionHandler.Instance)); }
private ISynchronizer CreateTaskSynchronizer(Options options) { var storageDataDirectory = Path.Combine ( _applicationDataDirectory, options.Id.ToString() ); var storageDataAccess = new EntityRelationDataAccess<string, DateTime, OutlookEventRelationData, Uri, string> (storageDataDirectory); var btypeIdEqualityComparer = EqualityComparer<Uri>.Default; var atypeIdComparer = EqualityComparer<string>.Default; var synchronizationContext = new TaskSynchronizationContext ( _outlookSession, storageDataAccess, options, TimeSpan.Parse (ConfigurationManager.AppSettings["calDavConnectTimeout"]), TimeSpan.Parse (ConfigurationManager.AppSettings["calDavReadWriteTimeout"]), Boolean.Parse (ConfigurationManager.AppSettings["disableCertificateValidation"]), Boolean.Parse (ConfigurationManager.AppSettings["enableSsl3"]), Boolean.Parse (ConfigurationManager.AppSettings["enableTls12"]), btypeIdEqualityComparer); var syncStateFactory = new EntitySyncStateFactory<string, DateTime, TaskItemWrapper, Uri, string, IICalendar> ( synchronizationContext.EntityMapper, synchronizationContext.AtypeRepository, synchronizationContext.BtypeRepository, synchronizationContext.EntityRelationDataFactory, ExceptionHandler.Instance); return new Synchronizer<string, DateTime, TaskItemWrapper, Uri, string, IICalendar> ( synchronizationContext, InitialTaskSyncStateCreationStrategyFactory.Create ( syncStateFactory, syncStateFactory.Environment, options.SynchronizationMode, options.ConflictResolution), _totalProgressFactory, atypeIdComparer, btypeIdEqualityComparer, ExceptionHandler.Instance); }