private SummarisationWrapper NewSummarisationWrapper( IFcsRepository fcsRepository = null, ISummarisedActualsProcessRepository summarisedActualsProcessRepository = null, IEnumerable <ISummarisationConfigProvider <FundingType> > fundingTypesProviders = null, IEnumerable <ISummarisationConfigProvider <CollectionPeriod> > collectionPeriodsProviders = null, IEnumerable <ISummarisationService> summarisationServices = null, IDataStorePersistenceService dataStorePersistenceService = null, Func <IProviderRepository> repositoryFactory = null, ISummarisationDataOptions dataOptions = null, ILogger logger = null, ISummarisationMessage summarisationMessage = null) { if (dataOptions == null) { dataOptions = new SummarisationDataOptions() { DataRetrievalMaxConcurrentCalls = "4" }; } return(new SummarisationWrapper( fcsRepository: fcsRepository, summarisedActualsProcessRepository: summarisedActualsProcessRepository, fundingTypesProviders: fundingTypesProviders, collectionPeriodsProviders: collectionPeriodsProviders, summarisationServices: summarisationServices, dataStorePersistenceService: dataStorePersistenceService, repositoryFactory: repositoryFactory, dataOptions: dataOptions, logger: logger)); }
private static async Task RunSummarisation() { string fcsConnectionString = @"Server=(local);Database=FCS;Trusted_Connection=True;"; string ilr1819ConnectionString = @"Server=(local);Database=ILR1819DataStore;Trusted_Connection=True;"; string ilr1920ConnectionString = @"Server=(local);Database=ILR1920DataStore;Trusted_Connection=True;"; string ilr2021ConnectionString = @"Server=(local);Database=ILR2021DataStore;Trusted_Connection=True;"; string summarisedActualsConnectionString = @"Server=(local);Database=SummarisedActuals;Trusted_Connection=True;"; string eas1819ConnectionString = @"Server=(local);Database=EAS1819;Trusted_Connection=True;"; string eas1920ConnectionString = @"Server=(local);Database=EAS1920;Trusted_Connection=True;"; string eas2021ConnectionString = @"Server=(local);Database=EAS2021;Trusted_Connection=True;"; string esfConnectionString = @"Server=(local);Database=ESF;Trusted_Connection=True;"; string esfR2ConnectionString = @"Server=(local);Database=ESF-R2;Trusted_Connection=True;"; string dasConnectionString = @"Server=(local);Database=DASPayments;Trusted_Connection=True;"; string esfFundingDataConnectionString = @"Server=(local);Database=ESFFundingData;Trusted_Connection=True;"; var summarisationDataOptions = new SummarisationDataOptions() { SummarisedActualsConnectionString = summarisedActualsConnectionString }; DbContextOptions <FcsContext> fcsdbContextOptions = new DbContextOptionsBuilder <FcsContext>().UseSqlServer(fcsConnectionString).Options; //DbContextOptions<ILR1819_DataStoreEntities> ilr1819dbContextOptions = new DbContextOptionsBuilder<ILR1819_DataStoreEntities>().UseSqlServer(ilr1819ConnectionString).Options; DbContextOptions <ILR1920_DataStoreEntities> ilr1920dbContextOptions = new DbContextOptionsBuilder <ILR1920_DataStoreEntities>().UseSqlServer(ilr1920ConnectionString).Options; DbContextOptions <ILR2021_DataStoreEntities> ilr2021dbContextOptions = new DbContextOptionsBuilder <ILR2021_DataStoreEntities>().UseSqlServer(ilr2021ConnectionString).Options; DbContextOptions <EAS1819.EF.EasContext> eas1819dbContextOptions = new DbContextOptionsBuilder <EAS1819.EF.EasContext>().UseSqlServer(eas1819ConnectionString).Options; DbContextOptions <EAS1920.EF.EasContext> eas1920dbContextOptions = new DbContextOptionsBuilder <EAS1920.EF.EasContext>().UseSqlServer(eas1920ConnectionString).Options; DbContextOptions <EAS2021.EF.EasContext> eas2021dbContextOptions = new DbContextOptionsBuilder <EAS2021.EF.EasContext>().UseSqlServer(eas2021ConnectionString).Options; DbContextOptions <SummarisationContext> sadbContextOptions = new DbContextOptionsBuilder <SummarisationContext>().UseSqlServer(summarisedActualsConnectionString).Options; DbContextOptions <ESF_DataStoreEntities> esfdbContextOptions = new DbContextOptionsBuilder <ESF_DataStoreEntities>().UseSqlServer(esfConnectionString).Options; DbContextOptions <ESFR2Context> esfR2dbContextOptions = new DbContextOptionsBuilder <ESFR2Context>().UseSqlServer(esfR2ConnectionString).Options; DbContextOptions <ESFFundingDataContext> esfFddbContextOptions = new DbContextOptionsBuilder <ESFFundingDataContext>().UseSqlServer(esfFundingDataConnectionString).Options; DbContextOptions <DASPaymentsContext> dasdbContextOptions = new DbContextOptionsBuilder <DASPaymentsContext>().UseSqlServer(dasConnectionString).Options; IFcsRepository fcsRepository = new FcsRepository(() => new FcsContext(fcsdbContextOptions)); IExistingSummarisedActualsRepository saRepository = new SummarisedActualsProcessRepository(() => new SummarisationContext(sadbContextOptions)); IJsonSerializationService jsonSerializationService = new JsonSerializationService(); //List<ISummarisationConfigProvider<FundingType>> fundingTypesProviders = new List<ISummarisationConfigProvider<FundingType>>() //{ // new ESF.ESF.Service.FundingTypesProvider(jsonSerializationService), // new Main1920FundingTypesProvider.FundingTypesProvider(jsonSerializationService), // new FundingTypesProvider(jsonSerializationService), //}; //List<ISummarisationConfigProvider<CollectionPeriod>> collectionPeriodsProviders = new List<ISummarisationConfigProvider<CollectionPeriod>>() //{ // new ESF.ESF.Service.CollectionPeriodsProvider(jsonSerializationService), // new Main1920CollectionPeriodsProvider.CollectionPeriodsProvider(jsonSerializationService), // new CollectionPeriodsProvider(jsonSerializationService), //}; /* * var summarisationInputDataProviders = new List<ISummarisationInputDataProvider<Data.Input.Model.LearningProvider>> * { * new ESFProvider_R1(() => new ESF_DataStoreEntities(esfdbContextOptions)), * new ESFProvider_R2(() => new ESFR2Context(esfR2dbContextOptions)), * new ESFILRProvider(() => new ESFFundingDataContext(esfFddbContextOptions)), * * new Main1920Providers.Fm35Provider(() => new ILR1920_DataStoreEntities(ilr1920dbContextOptions)), * new Main1920Providers.EasProvider(() => new EAS1920.EF.EasContext(eas1920dbContextOptions)), * * new LevyProvider(() => new DASPaymentsContext(dasdbContextOptions)), * new NonLevyProvider(() => new DASPaymentsContext(dasdbContextOptions)), * new EasProvider(() => new DASPaymentsContext(dasdbContextOptions), new CollectionPeriodsProvider(jsonSerializationService)), * }; */ //IInputDataRepository<LearningProvider> repository = new ProviderRepository(summarisationInputDataProviders); /* * IBulkInsert bulkInsert = new BulkInsert(); * * ISummarisedActualsPersist summarisedActualsPersist = new SummarisedActualsPersist(bulkInsert); * * ICollectionReturnMapper collectionReturnMapper = new CollectionReturnMapper(); * * IDataStorePersistenceService dataStorePersistenceService = new DataStorePersistenceService(summarisedActualsPersist, collectionReturnMapper, summarisationDataOptions); * * ILogger logger = new LoggerStub(); * * ISummarisationMessage summarisationMessage; * * SummarisationWrapper wrapper; */ /* summarisationMessage = new SummarisationContextStub(); * * wrapper = new SummarisationWrapper( * fcsRepository, * saRepository, * fundingTypesProviders, * collectionPeriodsProviders, * summarisationServices, * dataStorePersistenceService, * () => repository, * new SummarisationDataOptions { DataRetrievalMaxConcurrentCalls = "4" }, * logger); * * await wrapper.Summarise(CancellationToken.None); * * summarisationMessage = new ILR1920SummarisationContextStub(); * * wrapper = new SummarisationWrapper( * fcsRepository, * saRepository, * fundingTypesProviders, * collectionPeriodsProviders, * summarisationServices, * dataStorePersistenceService, * () => repository, * new SummarisationDataOptions { DataRetrievalMaxConcurrentCalls = "4" }, * logger); * * await wrapper.Summarise(CancellationToken.None); * * summarisationMessage = new ESFSummarisationContextStub(); * * wrapper = new SummarisationWrapper( * fcsRepository, * saRepository, * fundingTypesProviders, * collectionPeriodsProviders, * summarisationServices, * dataStorePersistenceService, * () => repository, * new SummarisationDataOptions { DataRetrievalMaxConcurrentCalls = "4" }, * logger); * * await wrapper.Summarise(CancellationToken.None);*/ //summarisationMessage = new Apps1920SummarisationContextStub(); //wrapper = new SummarisationWrapper( // fcsRepository, // saRepository, // fundingTypesProviders, // collectionPeriodsProviders, // summarisationServices, // dataStorePersistenceService, // () => repository, // new SummarisationDataOptions { DataRetrievalMaxConcurrentCalls = "4" }, // logger // ); //await wrapper.Summarise(summarisationMessage, CancellationToken.None); }