public SyncCosmosCourseSubRegionsToSql(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     IServiceScopeFactory serviceScopeFactory)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _serviceScopeFactory     = serviceScopeFactory;
 }
        public static void VenueName <T>(
            this IRuleBuilderInitial <T, string> field,
            int providerUkprn,
            Guid?venueId,
            ICosmosDbQueryDispatcher cosmosDbQueryDispatcher)
        {
            field
            .NotEmpty()
            .WithMessage("Enter location name")
            .MaximumLength(Constants.NameMaxLength)
            .WithMessage($"Location name must be {Constants.NameMaxLength} characters or fewer")
            .MustAsync(async(name, _) =>
            {
                // Venue name must be distinct for this provider

                var providerVenues = await cosmosDbQueryDispatcher.ExecuteQuery(new GetVenuesByProvider()
                {
                    ProviderUkprn = providerUkprn
                });

                var otherVenuesWithSameName = providerVenues
                                              .Where(v => v.VenueName.Equals(name, StringComparison.OrdinalIgnoreCase))
                                              .Where(v => v.Id != venueId);

                return(!otherVenuesWithSameName.Any());
            })
            .WithMessage("Location name must not already exist");
        }
예제 #3
0
 public FlowModelInitializer(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ISqlQueryDispatcher sqlDbQueryDispatcher)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _sqlDbQueryDispatcher    = sqlDbQueryDispatcher;
 }
 public ProviderController(
     ICourseService courseService,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher)
 {
     _courseService           = courseService ?? throw new ArgumentNullException(nameof(courseService));
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
 }
 public QueryHandler(
     ISqlQueryDispatcher sqlQueryDispatcher,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher)
 {
     _sqlQueryDispatcher      = sqlQueryDispatcher;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
 }
 public FixDuplicateApprenticeshipLocationIds(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     IClock clock)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _clock = clock;
 }
예제 #7
0
 public Handler(ISqlQueryDispatcher sqlQueryDispatcher, ICosmosDbQueryDispatcher cosmosDbQueryDispatcher, IBinaryStorageProvider binaryStorageProvider, IClock clock)
 {
     _sqlQueryDispatcher      = sqlQueryDispatcher;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _binaryStorageProvider   = binaryStorageProvider;
     _clock = clock;
 }
        public CopyCourseRunController(
            ILogger <CopyCourseRunController> logger,
            IOptions <CourseServiceSettings> courseSearchSettings,
            HtmlEncoder htmlEncoder,
            ICourseService courseService,
            ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
            IProviderContextProvider providerContextProvider)
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            if (courseSearchSettings == null)
            {
                throw new ArgumentNullException(nameof(courseSearchSettings));
            }

            if (courseService == null)
            {
                throw new ArgumentNullException(nameof(courseService));
            }

            _logger                  = logger;
            _htmlEncoder             = htmlEncoder;
            _courseService           = courseService;
            _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
            _providerContextProvider = providerContextProvider;
        }
예제 #9
0
 public CommandValidator(
     int providerUkprn,
     Guid venueId,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher)
 {
     RuleFor(c => c.Name)
     .VenueName(providerUkprn, venueId, cosmosDbQueryDispatcher);
 }
 public FlowModelInitializer(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ISqlQueryDispatcher sqlDbQueryDispatcher,
     IStandardsAndFrameworksCache standardsAndFrameworksCache)
 {
     _cosmosDbQueryDispatcher     = cosmosDbQueryDispatcher;
     _sqlDbQueryDispatcher        = sqlDbQueryDispatcher;
     _standardsAndFrameworksCache = standardsAndFrameworksCache;
 }
예제 #11
0
 public MigrationController(
     ICourseService courseService,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ISearchClient <Lars> larsSearchClient)
 {
     _courseService           = courseService ?? throw new ArgumentNullException(nameof(courseService));
     _larsSearchClient        = larsSearchClient ?? throw new ArgumentNullException(nameof(larsSearchClient));
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher ?? throw new ArgumentNullException(nameof(cosmosDbQueryDispatcher));
 }
 public Handler(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ICurrentUserProvider currentUserProvider,
     IClock clock)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _currentUserProvider     = currentUserProvider;
     _clock = clock;
 }
예제 #13
0
 public SqlDataSync(
     IServiceScopeFactory serviceScopeFactory,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ILogger <SqlDataSync> logger)
 {
     _serviceScopeFactory     = serviceScopeFactory;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _logger = logger;
 }
예제 #14
0
 public ProviderOwnershipCache(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ISqlQueryDispatcher sqlQueryDispatcher,
     IMemoryCache cache)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _sqlQueryDispatcher      = sqlQueryDispatcher;
     _cache = cache;
 }
예제 #15
0
 public ApprenticeshipProvisionHelper(
     IHttpContextAccessor contextAccessor,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ICSVHelper CSVHelper)
 {
     _contextAccessor         = contextAccessor ?? throw new ArgumentNullException(nameof(contextAccessor));
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher ?? throw new ArgumentNullException(nameof(cosmosDbQueryDispatcher));
     _CSVHelper = CSVHelper ?? throw new ArgumentNullException(nameof(CSVHelper));
 }
예제 #16
0
 public Handler(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ISqlQueryDispatcher sqlQueryDispatcher,
     ICurrentUserProvider currentUserProvider)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _sqlQueryDispatcher      = sqlQueryDispatcher;
     _currentUserProvider     = currentUserProvider;
 }
 public Handler(
     IProviderInfoCache providerInfoCache,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     JourneyInstanceProvider journeyInstanceProvider)
 {
     _providerInfoCache       = providerInfoCache;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _journeyInstanceProvider = journeyInstanceProvider;
 }
예제 #18
0
 public ProviderInfoCache(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     IDistributedCache cache,
     ILoggerFactory loggerFactory)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _cache  = cache;
     _logger = loggerFactory.CreateLogger <ProviderInfoCache>();
 }
 public CommandValidator(
     int providerUkprn,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher)
 {
     RuleFor(c => c.Name)
     .VenueName(providerUkprn, venueId: null, cosmosDbQueryDispatcher);
     RuleFor(c => c.Email).Email();
     RuleFor(c => c.Telephone).PhoneNumber();
     RuleFor(c => c.Website).Website();
 }
 public UkrlpSyncHelper(
     IUkrlpService ukrlpService,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     IClock clock,
     ILoggerFactory loggerFactory)
 {
     _ukrlpService            = ukrlpService;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _clock  = clock;
     _logger = loggerFactory.CreateLogger <UkrlpSyncHelper>();
 }
예제 #21
0
 public Handler(
     ISearchClient <SearchModels.Provider> providerSearchClient,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ICurrentUserProvider currentUserProvider,
     IClock clock)
 {
     _providerSearchClient    = providerSearchClient;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _currentUserProvider     = currentUserProvider;
     _clock = clock;
 }
예제 #22
0
 public Handler(
     IProviderInfoCache providerInfoCache,
     IProviderOwnershipCache providerOwnershipCache,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     FormFlowInstance <FlowModel> formFlowInstance)
 {
     _providerInfoCache       = providerInfoCache;
     _providerOwnershipCache  = providerOwnershipCache;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _formFlowInstance        = formFlowInstance;
 }
예제 #23
0
 public LarsDataImporter(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     IServiceScopeFactory serviceScopeFactory,
     IClock clock,
     ILogger <LarsDataImporter> logger)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _serviceScopeFactory     = serviceScopeFactory;
     _clock  = clock;
     _logger = logger;
 }
 public Handler(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ISqlQueryDispatcher sqlQueryDispatcher,
     ISearchClient <Core.Search.Models.Lars> larsSearchClient,
     IRegionCache regionCache)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher ?? throw new ArgumentNullException(nameof(cosmosDbQueryDispatcher));
     _sqlQueryDispatcher      = sqlQueryDispatcher ?? throw new ArgumentNullException(nameof(sqlQueryDispatcher));
     _larsSearchClient        = larsSearchClient ?? throw new ArgumentNullException(nameof(larsSearchClient));
     _regionCache             = regionCache ?? throw new ArgumentNullException(nameof(regionCache));
 }
예제 #25
0
 public Handler(
     FormFlowInstance <EditVenueFlowModel> formFlowInstance,
     IProviderOwnershipCache providerOwnershipCache,
     IProviderInfoCache providerInfoCache,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher)
 {
     _formFlowInstance        = formFlowInstance;
     _providerOwnershipCache  = providerOwnershipCache;
     _providerInfoCache       = providerInfoCache;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
 }
예제 #26
0
 public SqlDataSync(
     ISqlQueryDispatcherFactory sqlQueryDispatcherFactory,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     IClock clock,
     ILogger <SqlDataSync> logger)
 {
     _sqlQueryDispatcherFactory = sqlQueryDispatcherFactory;
     _cosmosDbQueryDispatcher   = cosmosDbQueryDispatcher;
     _clock  = clock;
     _logger = logger;
 }
예제 #27
0
 public DfeUserInfoHelper(
     DfeSignInSettings settings,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     UkrlpSyncHelper ukrlpSyncHelper,
     IHttpClientFactory httpClientFactory)
 {
     _settings = settings;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _ukrlpSyncHelper         = ukrlpSyncHelper;
     _httpClient = httpClientFactory.CreateClient("DfeSignIn");
 }
예제 #28
0
 public TestData(
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     SqlDataSync sqlDataSync,
     IServiceProvider serviceProvider,
     IClock clock)
 {
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _sqlDataSync             = sqlDataSync;
     _serviceProvider         = serviceProvider;
     _clock = clock;
 }
예제 #29
0
 public Handler(
     FormFlowInstance <EditVenueFlowModel> formFlowInstance,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ICurrentUserProvider currentUserProvider,
     IClock clock)
 {
     _formFlowInstance        = formFlowInstance;
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher;
     _currentUserProvider     = currentUserProvider;
     _clock = clock;
 }
예제 #30
0
 public CourseProvisionHelper(
     IHttpContextAccessor contextAccessor,
     ICourseService courseService,
     ICosmosDbQueryDispatcher cosmosDbQueryDispatcher,
     ICSVHelper CSVHelper)
 {
     _contextAccessor         = contextAccessor ?? throw new ArgumentNullException(nameof(contextAccessor));
     _courseService           = courseService ?? throw new ArgumentNullException(nameof(courseService));
     _cosmosDbQueryDispatcher = cosmosDbQueryDispatcher ?? throw new ArgumentNullException(nameof(cosmosDbQueryDispatcher));
     _CSVHelper = CSVHelper ?? throw new ArgumentNullException(nameof(CSVHelper));
 }