예제 #1
0
 protected virtual SeriesInlineInterop CreateInteropPropagationCommand(ICalendarInteropLog logger = null)
 {
     return(new SeriesInlineInterop(this, logger)
     {
         EntityKey = base.EntityKey,
         Scope = this.Scope
     });
 }
예제 #2
0
 public static void ExecutePendingInteropActions(IStoreSession session, ICalendarItemSeries calendarItemSeries, IStorageTranslator <ICalendarItemBase, Event> eventTranslator = null, IXSOFactory xsoFactory = null, ICalendarInteropLog logger = null)
 {
     xsoFactory      = (xsoFactory ?? XSOFactory.Default);
     logger          = (logger ?? CalendarInteropLog.Default);
     eventTranslator = (eventTranslator ?? EventTranslator.Instance);
     try
     {
         Event          @event         = eventTranslator.ConvertToEntity(calendarItemSeries);
         EventReference eventReference = new EventReference(xsoFactory, calendarItemSeries);
         SeriesPendingActionsInterop seriesPendingActionsInterop = new SeriesPendingActionsInterop(logger, null)
         {
             Entity    = @event,
             EntityKey = @event.Id,
             Scope     = (Events)eventReference.Events
         };
         seriesPendingActionsInterop.Execute(null);
     }
     catch (Exception ex)
     {
         ExTraceGlobals.CalendarInteropTracer.TraceError <string, Exception>(0L, "Error executing pending interop actions for series {0}. Error {1}", calendarItemSeries.SeriesId, ex);
         logger.SafeLogEntry(session, ex, false, "Error executing pending interop actions for series {0}.", new object[]
         {
             calendarItemSeries.SeriesId
         });
         throw;
     }
 }
예제 #3
0
 protected SeriesInteropCommand(EventSeriesPropagationConfig interopConfiguration, ICalendarInteropLog logger)
 {
     this.InteropConfiguration = interopConfiguration;
     this.Logger = logger;
 }
예제 #4
0
 public SeriesActionParser(ICalendarInteropLog logger, IStoreSession session)
 {
     this.logger  = logger;
     this.session = session;
 }
예제 #5
0
 public SeriesInlineInterop(ICalendarInteropSeriesAction actionToPropagate, ICalendarInteropLog logger) : base(EventSeriesPropagationConfig.GetInlinePropagationConfig(), logger ?? CalendarInteropLog.Default)
 {
     this.actionToPropagate = actionToPropagate;
 }
예제 #6
0
 public SeriesPendingActionsInterop(ICalendarInteropLog logger, ISeriesActionParser parser = null) : base(EventSeriesPropagationConfig.GetBackgroundPropagationConfig(), logger)
 {
     this.seriesActionParser = parser;
 }
예제 #7
0
 public PropagateToInstance(ICalendarInteropLog logger, ISeriesActionParser parser = null) : base(logger, parser)
 {
 }