コード例 #1
0
        private ISynchronizer CreateEventSynchronizer(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 EventSynchronizationContext(
                _outlookSession,
                storageDataAccess,
                options,
                _outlookEmailAddress,
                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, AppointmentItemWrapper, Uri, string, IICalendar> (
                synchronizationContext.EntityMapper,
                synchronizationContext.AtypeRepository,
                synchronizationContext.BtypeRepository,
                synchronizationContext.EntityRelationDataFactory,
                ExceptionHandler.Instance
                );

            return(new Synchronizer <string, DateTime, AppointmentItemWrapper, Uri, string, IICalendar> (
                       synchronizationContext,
                       InitialEventSyncStateCreationStrategyFactory.Create(
                           syncStateFactory,
                           syncStateFactory.Environment,
                           options.SynchronizationMode,
                           options.ConflictResolution),
                       _totalProgressFactory,
                       atypeIdComparer,
                       btypeIdEqualityComparer,
                       ExceptionHandler.Instance));
        }
コード例 #2
0
        private ISynchronizer CreateEventSynchronizer(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 EventSynchronizationContext (
              _outlookSession,
              storageDataAccess,
              options,
              _outlookEmailAddress,
              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, AppointmentItemWrapper, Uri, string, IICalendar> (
              synchronizationContext.EntityMapper,
              synchronizationContext.AtypeRepository,
              synchronizationContext.BtypeRepository,
              synchronizationContext.EntityRelationDataFactory,
              ExceptionHandler.Instance
              );

              return new Synchronizer<string, DateTime, AppointmentItemWrapper, Uri, string, IICalendar> (
              synchronizationContext,
              InitialEventSyncStateCreationStrategyFactory.Create (
              syncStateFactory,
              syncStateFactory.Environment,
              options.SynchronizationMode,
              options.ConflictResolution),
              _totalProgressFactory,
              atypeIdComparer,
              btypeIdEqualityComparer,
              ExceptionHandler.Instance);
        }