/// <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); }
public SpotPlacementDomainModelHandler( ISpotPlacementRepository spotPlacementRepository, ISqlServerDbContext dbContext, IMapper mapper) { _spotPlacementRepository = spotPlacementRepository ?? throw new ArgumentNullException(nameof(spotPlacementRepository)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _mapper = mapper; }
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; }