Beispiel #1
0
        /// <summary>
        /// Returns previous SpotPlacement for each spot
        /// </summary>
        /// <param name="allSpots"></param>
        /// <param name="spotPlacementRepository"></param>
        /// <returns></returns>
        private static IReadOnlyDictionary <string, SpotPlacement> GetSpotPlacementsByExternalRef(
            IReadOnlyCollection <Spot> allSpots,
            ISpotPlacementRepository spotPlacementRepository
            )
        {
            var previousSpotPlacementsByExternalRef = new Dictionary <string, SpotPlacement>();

            IEnumerable <SpotPlacement> spotPlacements = spotPlacementRepository.GetByExternalSpotRefs(
                allSpots
                .Select(s => s.ExternalSpotRef)
                .Distinct()
                );

            foreach (var previousSpotPlacement in spotPlacements)
            {
                if (previousSpotPlacementsByExternalRef.ContainsKey(previousSpotPlacement.ExternalSpotRef))
                {
                    continue;
                }

                previousSpotPlacementsByExternalRef.Add(
                    previousSpotPlacement.ExternalSpotRef, previousSpotPlacement
                    );
            }

            return(previousSpotPlacementsByExternalRef);
        }
Beispiel #2
0
 public SpotPlacementDomainModelHandler(
     ISpotPlacementRepository spotPlacementRepository,
     ISqlServerDbContext dbContext,
     IMapper mapper)
 {
     _spotPlacementRepository = spotPlacementRepository ??
                                throw new ArgumentNullException(nameof(spotPlacementRepository));
     _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
     _mapper    = mapper;
 }
Beispiel #3
0
 public SpotDataPurgingHandler(
     ISqlServerLongRunningTenantDbContext dbContext,
     ISpotCleaner spotCleaner,
     ILogger <SpotDataPurgingHandler> logger,
     ISpotPlacementRepository spotPlacement,
     IClock clock,
     IOptionsSnapshot <PurgingOptions> options) : base(options)
 {
     _dbContext     = dbContext;
     _spotCleaner   = spotCleaner;
     _logger        = logger;
     _spotPlacement = spotPlacement;
     _clock         = clock;
 }