コード例 #1
0
ファイル: EsasSyncStrategy.cs プロジェクト: harleydk/ESASsync
 public EsasSyncStrategy(SyncStrategySettings syncStrategySettings, IEsasEntitiesLoaderStrategy esasEntitiesLoaderStrategy, IEsasSyncDestination syncDestination, ISyncResultsDestination syncResultsDestination, ILogger logger)
 {
     _syncResultsDestination = syncResultsDestination;
     _logger = logger;
     SyncStrategySettings       = syncStrategySettings;
     EsasEntitiesLoaderStrategy = esasEntitiesLoaderStrategy;
     _esasSyncDestination       = syncDestination;
 }
コード例 #2
0
        public DateTime GetLoadTimeCutoff(IEsasEntitiesLoaderStrategy esasEntitiesLoaderStrategy)
        {
            string loaderStrategyName = esasEntitiesLoaderStrategy.GetType().Name;
            var    dbContext          = esasDbContextFactory.CreateDbContext();

            using (dbContext)
            {
                var latestSuccesfulLoadTime = dbContext.EsasSyncResults
                                              .OrderByDescending(ls => ls.SyncStartTimeUTC)
                                              .FirstOrDefault(ls => ls.esasLoadResult.LoaderStrategyName == loaderStrategyName && ls.esasLoadResult.EsasLoadStatus == DAL.Models.EsasOperationResultStatus.OperationSuccesful &&
                                                              ls.esasSendResult.SendToDestinationStatus == DAL.Models.EsasOperationResultStatus.OperationSuccesful
                                                              );

                if (latestSuccesfulLoadTime != null)
                {
                    return(latestSuccesfulLoadTime.SyncStartTimeUTC);
                }
                else
                {
                    // there's not a latest load-time available to us, so let's go 10 minutes back in time
                    return(DateTime.UtcNow.AddMinutes(-10));
                }
            }
        }
コード例 #3
0
 public DateTime GetLoadTimeCutoff(IEsasEntitiesLoaderStrategy esasEntitiesLoaderStrategy)
 {
     return(new DateTime(1963, 11, 22)); // J.F.K. RIP
 }