public static void InitDb() { var settingsContext = ServiceProvider.GetService <SettingsContext>(); var extractsContext = ServiceProvider.GetService <ExtractsContext>(); settingsContext.Database.Migrate(); settingsContext.EnsureSeeded(); extractsContext.Database.Migrate(); extractsContext.EnsureSeeded(); Iqtools = settingsContext.EmrSystems .Include(x => x.DatabaseProtocols) .Include(x => x.Extracts) .First(x => x.Id == new Guid("a62216ee-0e85-11e8-ba89-0ed5f89f718b")); Validator = extractsContext.Validator.First(); var dbmanager = ServiceProvider.GetService <IAppDatabaseManager>(); IqToolsDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MsSql); IQtoolsDbProtocol = Iqtools.DatabaseProtocols.First(x => x.DatabaseName.ToLower().Contains("iqtools".ToLower())); IQtoolsDbProtocol.Host = IqToolsDatabase.Server; IQtoolsDbProtocol.Username = IqToolsDatabase.User; IQtoolsDbProtocol.Password = IqToolsDatabase.Password; }
public static void InitMysQLDb() { var settingsContextMysql = ServiceProviderMysql.GetService <SettingsContext>(); var extractsContextMysql = ServiceProviderMysql.GetService <ExtractsContext>(); settingsContextMysql.Database.Migrate(); settingsContextMysql.EnsureSeeded(); extractsContextMysql.Database.Migrate(); extractsContextMysql.EnsureSeeded(); KenyaEmr = settingsContextMysql.EmrSystems .Include(x => x.DatabaseProtocols) .Include(x => x.Extracts) .First(x => x.Id == new Guid("a6221856-0e85-11e8-ba89-0ed5f89f718b")); Validator = extractsContextMysql.Validator.First(); var dbmanager = ServiceProvider.GetService <IAppDatabaseManager>(); KenyaEmrDatabase = dbmanager.ReadConnection(settingsContextMysql.Database.GetDbConnection().ConnectionString, DatabaseProvider.MySql); KenyaEmrDbProtocol = KenyaEmr.DatabaseProtocols.First(); KenyaEmrDbProtocol.Host = KenyaEmrDatabase.Server; KenyaEmrDbProtocol.Username = KenyaEmrDatabase.User; KenyaEmrDbProtocol.Password = KenyaEmrDatabase.Password; }
public void Init() { _options = TestDbOptions.GetInMemoryOptions <SettingsContext>(); var context = new SettingsContext(_options); context.Database.EnsureDeleted(); context.Database.EnsureCreated(); _emrs = Builder <EmrSystem> .CreateListOfSize(2).Build().ToList(); _docket = Builder <Docket> .CreateNew().Build(); _iqcareExtract = Builder <Extract> .CreateNew().With(x => x.DocketId = _docket.Id).With(x => x.EmrSystemId = _emrs.First().Id).Build(); _iqcareExtract.ExtractSql = @"SELECT * FROM [AppAdmin]"; _kenyaExtract = Builder <Extract> .CreateNew().With(x => x.DocketId = _docket.Id).With(x => x.EmrSystemId = _emrs.Last().Id).Build(); _kenyaExtract.ExtractSql = @"SELECT * FROM psmart"; _mssql = new DatabaseProtocol(DatabaseType.MicrosoftSQL, @".\koske14", "sa", "maun", "iqcare"); _mysql = new DatabaseProtocol(DatabaseType.MySQL, @"localhost", "root", "root", "openmrs"); context.Add(_docket); context.AddRange(_emrs); context.AddRange(new List <Extract> { _iqcareExtract, _kenyaExtract }); context.SaveChanges(); }
public IActionResult SaveProtocol([FromBody] DatabaseProtocol entity) { if (null == entity) { return(BadRequest()); } if (entity.Id.IsNullOrEmpty()) { entity.Id = LiveGuid.NewGuid(); } try { _emrManagerService.SaveProtocol(entity); return(Ok(entity)); } catch (Exception e) { var msg = $"Error saving {nameof(DatabaseProtocol)}"; Log.Error(msg); Log.Error($"{e}"); return(StatusCode(500, msg)); } }
public static void ClearDb() { var context = ServiceProvider.GetService <SettingsContext>(); context.EnsureSeeded(); var econtext = ServiceProvider.GetService <ExtractsContext>(); econtext.EnsureSeeded(); /* * econtext.Database.GetDbConnection().Execute($"DELETE FROM {nameof(ExtractsContext.TempPatientExtracts)}"); * econtext.Database.GetDbConnection().Execute($"DELETE FROM {nameof(ExtractsContext.PatientExtracts)}"); * econtext.Database.GetDbConnection().Execute($"DELETE FROM {nameof(ExtractsContext.TempHtsClientsExtracts)}"); * econtext.Database.GetDbConnection().Execute($"DELETE FROM {nameof(ExtractsContext.HtsClientsExtracts)}"); */ SeedData(TestData.GenerateEmrSystems(EmrConnectionString)); SeedData(TestData.GenerateData <AppMetric>()); SeedData <ExtractsContext>(TestData.GenerateData <EmrMetric>()); Protocol = context.DatabaseProtocols.AsNoTracking().First(x => x.DatabaseType == DatabaseType.Sqlite); Extracts = context.Extracts.AsNoTracking().Where(x => x.DatabaseProtocolId == Protocol.Id).ToList(); LoadMpi(); LoadHts(); LoadCt(); LoadMgs(); }
public bool VerifyQuery(Extract extract, DatabaseProtocol databaseProtocol) { var connection = GetConnection(databaseProtocol); if (null == connection) { throw new ArgumentException("connection not initialized"); } if (connection.State != ConnectionState.Open) { try { connection.Open(); connection.Execute(extract.ExtractSql); return(true); } catch (Exception e) { if (e is DbException) { _connectionError = e.Message; } Log.Debug($"{e}"); throw; } } return(false); }
public void should_GetConnection(DatabaseProtocol databaseProtocol) { var connection = _databaseManager.GetConnection(databaseProtocol); Assert.NotNull(connection); Console.WriteLine($"connections Found:[{connection.ConnectionString}] | {databaseProtocol.DatabaseType}"); }
public void should_VerifyConnection(DatabaseProtocol databaseProtocol) { var connected = _databaseManager.VerifyConnection(databaseProtocol); Assert.True(connected); Console.WriteLine($"connection OK:[{databaseProtocol}] | {databaseProtocol.DatabaseType}"); }
public void SaveProtocol(DatabaseProtocol protocol) { _databaseProtocolRepository.CreateOrUpdate(protocol); _databaseProtocolRepository.SaveChanges(); var extracts = _extractRepository.GetAllByEmr(protocol.EmrSystemId, "NDWH"); if (!extracts.Any()) { var databaseProtocol = _databaseProtocolRepository.GetAll().FirstOrDefault(p => p.EmrSystemId == protocol.EmrSystemId); AddDefaultExtracts(databaseProtocol); } }
private void AddDefaultExtracts(DatabaseProtocol protocol) { var extracts = DefaultExtracts(); var emrName = _emrSystemRepository.Get(protocol.EmrSystemId).Name; foreach (var extract in extracts) { extract.EmrSystemId = protocol.EmrSystemId; extract.DatabaseProtocolId = protocol.Id; extract.Emr = emrName; _extractRepository.CreateOrUpdate(extract); _extractRepository.SaveChanges(); } }
public static void InitDbMySql() { var settingsContext = ServiceProviderMysql.GetService <SettingsContext>(); var dbmanager = ServiceProviderMysql.GetService <IAppDatabaseManager>(); KenyaEmr = settingsContext.EmrSystems.Include(x => x.DatabaseProtocols).FirstOrDefault(x => x.Name == "KenyaEMR"); KenyaEmrDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MySql); KenyaEmrDbProtocol = KenyaEmr.DatabaseProtocols.First(); KenyaEmrDbProtocol.Host = KenyaEmrDatabase.Server; KenyaEmrDbProtocol.Username = KenyaEmrDatabase.User; KenyaEmrDbProtocol.Password = KenyaEmrDatabase.Password; }
public static void SeedData(params IEnumerable <object>[] entities) { var context = ServiceProvider.GetService <Dwapi.SettingsManagement.Infrastructure.SettingsContext>(); foreach (IEnumerable <object> t in entities) { context.AddRange(t); } context.SaveChanges(); Protocol = context.DatabaseProtocols.AsNoTracking().First(x => x.DatabaseType == DatabaseType.Sqlite); Extracts = context.Extracts.AsNoTracking().Where(x => x.DatabaseProtocolId == Protocol.Id).ToList(); }
public void should_Post_Protocol() { var databaseProtocol = new DatabaseProtocol(DatabaseType.MicrosoftSQL, @".\koske14", "sa", "maun", "test", _kenyaEmr.Id); var response = _emrManagerController.SaveProtocol(databaseProtocol); var result = response as OkObjectResult; Assert.IsNotNull(result); Assert.AreEqual(200, result.StatusCode); var protocol = _databaseProtocolRepository.Get(databaseProtocol.Id); Assert.NotNull(protocol); Console.WriteLine(protocol); }
public static void InitDbMsSql() { var settingsContext = ServiceProvider.GetService <SettingsContext>(); var dbmanager = ServiceProvider.GetService <IAppDatabaseManager>(); Iqtools = settingsContext.EmrSystems.Include(x => x.DatabaseProtocols).FirstOrDefault(x => x.Name == "IQCare"); IqToolsDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MsSql); IQtoolsDbProtocol = Iqtools.DatabaseProtocols.First(x => x.DatabaseName.ToLower().Contains("iqtools".ToLower())); IQtoolsDbProtocol.Host = IqToolsDatabase.Server; IQtoolsDbProtocol.Username = IqToolsDatabase.User; IQtoolsDbProtocol.Password = IqToolsDatabase.Password; }
public IDbConnection GetConnection(DatabaseProtocol databaseProtocol) { var connectionString = databaseProtocol.GetConnectionString(); if (databaseProtocol.DatabaseType == DatabaseType.MicrosoftSQL) { return(new SqlConnection(connectionString)); } if (databaseProtocol.DatabaseType == DatabaseType.MySQL) { return(new MySqlConnection(connectionString)); } return(null); }
public void Setup() { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var mysqlConfig = new ConfigurationBuilder() .AddJsonFile("appsettings.mysql.json") .Build(); var serviceProvider = new ServiceCollection() .AddDbContext <SettingsContext>(x => x.UseSqlServer(config["ConnectionStrings:DwapiConnection"])) .AddTransient <IAppDatabaseManager, AppDatabaseManager>() .BuildServiceProvider(); var serviceProviderMysql = new ServiceCollection() .AddDbContext <SettingsContext>(x => x.UseMySql(mysqlConfig["ConnectionStrings:DwapiConnection"])) .AddTransient <IAppDatabaseManager, AppDatabaseManager>() .BuildServiceProvider(); var settingsContext = serviceProvider.GetService <SettingsContext>(); var settingsContextMysql = serviceProviderMysql.GetService <SettingsContext>(); ServiceProvider = serviceProvider; ServiceProviderMysql = serviceProviderMysql; var dbmanager = serviceProvider.GetService <IAppDatabaseManager>(); IqToolsDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MsSql); KenyaEmrDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MySql); IQtoolsDbProtocol = Iqtools.DatabaseProtocols.First(x => x.DatabaseName.ToLower().Contains("iqtools".ToLower())); IQtoolsDbProtocol.Host = IqToolsDatabase.Server; IQtoolsDbProtocol.Username = IqToolsDatabase.User; IQtoolsDbProtocol.Password = IqToolsDatabase.Password; //_iQtoolsDb.Password = TestInitializer.IqToolsDatabase.Database; KenyaEmrDbProtocol = KenyaEmr.DatabaseProtocols.First(); KenyaEmrDbProtocol.Host = KenyaEmrDatabase.Server; KenyaEmrDbProtocol.Username = KenyaEmrDatabase.User; KenyaEmrDbProtocol.Password = KenyaEmrDatabase.Password; KenyaEmrDbProtocol.DatabaseName = KenyaEmrDatabase.Database; }
public Task <DatabaseService> Locate(DatabaseProtocol protocol) { // lower-invariant protocol & service name string protocolName = protocol.ToString().ToLowerInvariant(); string serviceName = $"_{protocolName}"; // get name of service to resolve ServiceDnsName name = new ServiceDnsName { Domain = ServiceDomain, ServiceName = serviceName, Protocol = protocolName, DnsName = string.IsNullOrEmpty(ServiceDomain) ? serviceName.ToLowerInvariant() : $"{serviceName.ToLowerInvariant()}._tcp.{ServiceDomain}" }; // locate and return return(Locate(name, _ => ServiceLookup.SrvTxt(name, DbServiceFactory))); }
public static void SeedData(params IEnumerable <object>[] entities) { var context = ServiceProvider.GetService <SettingsContext>(); if (entities.Any(x => x.First().GetType() == typeof(EmrSystem))) { context.EmrSystems.RemoveRange(context.EmrSystems); context.SaveChanges(); } foreach (IEnumerable <object> t in entities) { context.AddRange(t); } context.SaveChanges(); Protocol = context.DatabaseProtocols.AsNoTracking().First(x => x.DatabaseType == DatabaseType.Sqlite); Extracts = context.Extracts.AsNoTracking().Where(x => x.DatabaseProtocolId == Protocol.Id).ToList(); }
public static void ClearDb() { var context = ServiceProvider.GetService <SettingsContext>(); context.EnsureSeeded(); var econtext = ServiceProvider.GetService <ExtractsContext>(); econtext.EnsureSeeded(); SeedData(TestData.GenerateEmrSystems(EmrConnectionString)); SeedData(TestData.GenerateData <AppMetric>()); SeedData <ExtractsContext>(TestData.GenerateData <EmrMetric>()); Protocol = context.DatabaseProtocols.AsNoTracking().First(x => x.DatabaseType == DatabaseType.Sqlite); Extracts = context.Extracts.AsNoTracking().Where(x => x.DatabaseProtocolId == Protocol.Id).ToList(); LoadMpi(); LoadHts(); LoadCt(); LoadMgs(); }
public IActionResult Verify([FromBody] DatabaseProtocol entity) { if (null == entity) { return(BadRequest()); } try { var verified = _emrManagerService.VerifyConnection(entity); return(Ok(verified)); } catch (Exception e) { var msg = $"Error veryfying {nameof(DatabaseProtocol)} {_emrManagerService.GetConnectionError()}"; Log.Error(msg); Log.Error($"{e}"); return(StatusCode(500, msg)); } }
public static void ClearDiffDb() { AllServices.RemoveService(typeof(UploadContext)); AllServices.RemoveService(typeof(SettingsContext)); AllServices.RemoveService(typeof(ExtractsContext)); AllServices.RemoveService(typeof(DbContextOptions <UploadContext>)); AllServices.RemoveService(typeof(DbContextOptions <SettingsContext>)); AllServices.RemoveService(typeof(DbContextOptions <ExtractsContext>)); var diffConnection = new SqliteConnection(DiffConnectionString); diffConnection.Open(); AllServices.AddDbContext <UploadContext>(x => x.UseSqlite(diffConnection)); AllServices.AddDbContext <SettingsContext>(x => x.UseSqlite(diffConnection)); AllServices.AddDbContext <ExtractsContext>(x => x.UseSqlite(diffConnection)); ServiceProvider = AllServices.BuildServiceProvider(); var context = ServiceProvider.GetService <SettingsContext>(); context.EnsureSeeded(); var econtext = ServiceProvider.GetService <ExtractsContext>(); econtext.EnsureSeeded(); SeedData(TestData.GenerateEmrSystems(EmrDiffConnectionString)); SeedData(TestData.GenerateData <AppMetric>()); SeedData <ExtractsContext>(TestData.GenerateData <EmrMetric>()); Protocol = context.DatabaseProtocols.AsNoTracking().First(x => x.DatabaseType == DatabaseType.Sqlite); Extracts = context.Extracts.AsNoTracking().Where(x => x.DatabaseProtocolId == Protocol.Id).ToList(); LoadDiffs(DateTime.Now.Date.AddMonths(-1), DateTime.Now.Date.AddMonths(-1)); LoadCt(); }
public Task <DatabaseService> Locate(string serviceName, DatabaseProtocol protocol) { return(Locate(serviceName, protocol.ToString())); }
public void SetUp() { _databaseManager = TestInitializer.ServiceProvider.GetService <IDatabaseManager>(); _databaseProtocol = new DatabaseProtocol(DatabaseType.Sqlite, TestInitializer.EmrConnectionString); }
public void Setup() { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var mysqlConfig = new ConfigurationBuilder() .AddJsonFile("appsettings.mysql.json") .Build(); var serviceProvider = new ServiceCollection() .AddDbContext <ExtractsContext>(x => x.UseSqlServer(config["ConnectionStrings:DwapiConnection"])) .AddDbContext <SettingsContext>(x => x.UseSqlServer(config["ConnectionStrings:DwapiConnection"])) .AddTransient <IExtractHistoryRepository, ExtractHistoryRepository>() .AddTransient <ITempMasterPatientIndexRepository, TempMasterPatientIndexRepository>() .AddTransient <IMasterPatientIndexRepository, MasterPatientIndexRepository>() .AddTransient <ITempPatientExtractRepository, TempPatientExtractRepository>() .AddTransient <ICleanCbsExtracts, CleanCbsExtracts>() .AddTransient <IClearDwhExtracts, ClearDwhExtracts>() .AddTransient <IMasterPatientIndexReader, MasterPatientIndexReader>() .AddTransient <IExtractSourceReader, ExtractSourceReader>() .AddTransient <IAppDatabaseManager, AppDatabaseManager>() .BuildServiceProvider(); var serviceProviderMysql = new ServiceCollection() .AddDbContext <ExtractsContext>(x => x.UseMySql(mysqlConfig["ConnectionStrings:DwapiConnection"])) .AddDbContext <SettingsContext>(x => x.UseMySql(mysqlConfig["ConnectionStrings:DwapiConnection"])) .AddTransient <IExtractHistoryRepository, ExtractHistoryRepository>() .AddTransient <ITempMasterPatientIndexRepository, TempMasterPatientIndexRepository>() .AddTransient <IMasterPatientIndexRepository, MasterPatientIndexRepository>() .AddTransient <ITempPatientExtractRepository, TempPatientExtractRepository>() .AddTransient <ICleanCbsExtracts, CleanCbsExtracts>() .AddTransient <IClearDwhExtracts, ClearDwhExtracts>() .AddTransient <IMasterPatientIndexReader, MasterPatientIndexReader>() .AddTransient <IExtractSourceReader, ExtractSourceReader>() .AddTransient <IAppDatabaseManager, AppDatabaseManager>() .BuildServiceProvider(); ServiceProvider = serviceProvider; ServiceProviderMysql = serviceProviderMysql; var settingsContext = serviceProvider.GetService <SettingsContext>(); var settingsContextMysql = serviceProviderMysql.GetService <SettingsContext>(); var extractsContext = serviceProvider.GetService <ExtractsContext>(); var extractsContextMysql = serviceProviderMysql.GetService <ExtractsContext>(); settingsContext.Database.Migrate(); settingsContext.EnsureSeeded(); settingsContextMysql.Database.Migrate(); settingsContextMysql.EnsureSeeded(); extractsContext.Database.Migrate(); extractsContext.EnsureSeeded(); extractsContextMysql.Database.Migrate(); extractsContextMysql.EnsureSeeded(); Iqtools = settingsContextMysql.EmrSystems .Include(x => x.DatabaseProtocols) .Include(x => x.Extracts) .First(x => x.Id == new Guid("a62216ee-0e85-11e8-ba89-0ed5f89f718b")); KenyaEmr = settingsContextMysql.EmrSystems .Include(x => x.DatabaseProtocols) .Include(x => x.Extracts) .First(x => x.Id == new Guid("a6221856-0e85-11e8-ba89-0ed5f89f718b")); Validator = extractsContext.Validator.First(); var dbmanager = serviceProvider.GetService <IAppDatabaseManager>(); IqToolsDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MsSql); KenyaEmrDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MySql); IQtoolsDbProtocol = Iqtools.DatabaseProtocols.First(x => x.DatabaseName.ToLower().Contains("iqtools".ToLower())); IQtoolsDbProtocol.Host = IqToolsDatabase.Server; IQtoolsDbProtocol.Username = IqToolsDatabase.User; IQtoolsDbProtocol.Password = IqToolsDatabase.Password; //_iQtoolsDb.Password = TestInitializer.IqToolsDatabase.Database; KenyaEmrDbProtocol = KenyaEmr.DatabaseProtocols.First(); KenyaEmrDbProtocol.Host = KenyaEmrDatabase.Server; KenyaEmrDbProtocol.Username = KenyaEmrDatabase.User; KenyaEmrDbProtocol.Password = KenyaEmrDatabase.Password; KenyaEmrDbProtocol.DatabaseName = KenyaEmrDatabase.Database; }
public void Setup() { // return; RegisterLicence(); var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var mysqlConfig = new ConfigurationBuilder() .AddJsonFile("appsettings.mysql.json") .Build(); var serviceProvider = new ServiceCollection() .AddDbContext <ExtractsContext>(x => x.UseSqlServer(config["ConnectionStrings:DwapiConnection"])) .AddDbContext <SettingsContext>(x => x.UseSqlServer(config["ConnectionStrings:DwapiConnection"])) .AddTransient <IExtractHistoryRepository, ExtractHistoryRepository>() .AddTransient <IValidatorRepository, ValidatorRepository>() .AddTransient <ITempMasterPatientIndexRepository, TempMasterPatientIndexRepository>() .AddTransient <IMasterPatientIndexRepository, MasterPatientIndexRepository>() .AddTransient <ITempPatientExtractRepository, TempPatientExtractRepository>() .AddTransient <ITempPatientArtExtractRepository, TempPatientArtExtractRepository>() .AddTransient <ITempPatientBaselinesExtractRepository, TempPatientBaselinesExtractRepository>() .AddTransient <ITempPatientLaboratoryExtractRepository, TempPatientLaboratoryExtractRepository>() .AddTransient <ITempPatientPharmacyExtractRepository, TempPatientPharmacyExtractRepository>() .AddTransient <ITempPatientStatusExtractRepository, TempPatientStatusExtractRepository>() .AddTransient <ITempPatientVisitExtractRepository, TempPatientVisitExtractRepository>() .AddTransient <IPatientExtractRepository, PatientExtractRepository>() .AddTransient <IPatientArtExtractRepository, PatientArtExtractRepository>() .AddTransient <IPatientBaselinesExtractRepository, PatientBaselinesExtractRepository>() .AddTransient <IPatientLaboratoryExtractRepository, PatientLaboratoryExtractRepository>() .AddTransient <IPatientPharmacyExtractRepository, PatientPharmacyExtractRepository>() .AddTransient <IPatientStatusExtractRepository, PatientStatusExtractRepository>() .AddTransient <IPatientVisitExtractRepository, PatientVisitExtractRepository>() .AddTransient <ITempHTSClientExtractRepository, TempHTSClientExtractRepository>() .AddTransient <ITempHTSClientLinkageExtractRepository, TempHTSClientLinkageExtractRepository>() .AddTransient <ITempHTSClientPartnerExtractRepository, TempHTSClientPartnerExtractRepository>() .AddTransient <IHTSClientExtractRepository, HTSClientExtractRepository>() .AddTransient <IHTSClientLinkageExtractRepository, HTSClientLinkageExtractRepository>() .AddTransient <IHTSClientPartnerExtractRepository, HTSClientPartnerExtractRepository>() .AddTransient <ICleanCbsExtracts, CleanCbsExtracts>() .AddTransient <IClearDwhExtracts, ClearDwhExtracts>() .AddTransient <ICleanHtsExtracts, CleanHtsExtracts>() .AddTransient <IMasterPatientIndexReader, MasterPatientIndexReader>() .AddTransient <IExtractSourceReader, ExtractSourceReader>() .AddTransient <IHTSExtractSourceReader, HTSExtractSourceReader>() .AddTransient <IPatientSourceExtractor, PatientSourceExtractor>() .AddTransient <IPatientStatusSourceExtractor, PatientStatusSourceExtractor>() .AddTransient <IPatientArtSourceExtractor, PatientArtSourceExtractor>() .AddTransient <IPatientBaselinesSourceExtractor, PatientBaselinesSourceExtractor>() .AddTransient <IPatientPharmacySourceExtractor, PatientPharmacySourceExtractor>() .AddTransient <IPatientVisitSourceExtractor, PatientVisitSourceExtractor>() .AddTransient <IPatientLaboratorySourceExtractor, PatientLaboratorySourceExtractor>() .AddTransient <IHTSClientSourceExtractor, HTSClientSourceExtractor>() .AddTransient <IHTSClientLinkageSourceExtractor, HTSClientLinkageSourceExtractor>() .AddTransient <IHTSClientPartnerSourceExtractor, HTSClientPartnerSourceExtractor>() .AddTransient <IMasterPatientIndexSourceExtractor, MasterPatientIndexSourceExtractor>() .AddTransient <IMasterPatientIndexLoader, MasterPatientIndexLoader>() .AddTransient <IPatientLoader, PatientLoader>() .AddTransient <IPatientArtLoader, PatientArtLoader>() .AddTransient <IPatientBaselinesLoader, PatientBaselinesLoader>() .AddTransient <IPatientLaboratoryLoader, PatientLaboratoryLoader>() .AddTransient <IPatientPharmacyLoader, PatientPharmacyLoader>() .AddTransient <IPatientStatusLoader, PatientStatusLoader>() .AddTransient <IPatientVisitLoader, PatientVisitLoader>() .AddTransient <IHTSClientLoader, HTSClientLoader>() .AddTransient <IHTSClientLinkageLoader, HTSClientLinkageLoader>() .AddTransient <IHTSClientPartnerLoader, HTSClientPartnerLoader>() .AddTransient <IEmrMetricRepository, EmrMetricRepository>() .AddTransient <IEmrMetricsService, EmrMetricsService>() .AddTransient <IAppDatabaseManager, AppDatabaseManager>() .AddMediatR(typeof(ExtractMasterPatientIndexHandler)) .BuildServiceProvider(); var serviceProviderMysql = new ServiceCollection() .AddDbContext <ExtractsContext>(x => x.UseMySql(mysqlConfig["ConnectionStrings:DwapiConnection"])) .AddDbContext <SettingsContext>(x => x.UseMySql(mysqlConfig["ConnectionStrings:DwapiConnection"])) .AddTransient <ExtractsContext>() .AddTransient <SettingsContext>() .AddTransient <IExtractHistoryRepository, ExtractHistoryRepository>() .AddTransient <IValidatorRepository, ValidatorRepository>() .AddTransient <ITempMasterPatientIndexRepository, TempMasterPatientIndexRepository>() .AddTransient <IMasterPatientIndexRepository, MasterPatientIndexRepository>() .AddTransient <ITempPatientExtractRepository, TempPatientExtractRepository>() .AddTransient <ITempPatientArtExtractRepository, TempPatientArtExtractRepository>() .AddTransient <ITempPatientBaselinesExtractRepository, TempPatientBaselinesExtractRepository>() .AddTransient <ITempPatientLaboratoryExtractRepository, TempPatientLaboratoryExtractRepository>() .AddTransient <ITempPatientPharmacyExtractRepository, TempPatientPharmacyExtractRepository>() .AddTransient <ITempPatientStatusExtractRepository, TempPatientStatusExtractRepository>() .AddTransient <ITempPatientVisitExtractRepository, TempPatientVisitExtractRepository>() .AddTransient <IPatientExtractRepository, PatientExtractRepository>() .AddTransient <IPatientArtExtractRepository, PatientArtExtractRepository>() .AddTransient <IPatientBaselinesExtractRepository, PatientBaselinesExtractRepository>() .AddTransient <IPatientLaboratoryExtractRepository, PatientLaboratoryExtractRepository>() .AddTransient <IPatientPharmacyExtractRepository, PatientPharmacyExtractRepository>() .AddTransient <IPatientStatusExtractRepository, PatientStatusExtractRepository>() .AddTransient <IPatientVisitExtractRepository, PatientVisitExtractRepository>() .AddTransient <ITempHTSClientExtractRepository, TempHTSClientExtractRepository>() .AddTransient <ITempHTSClientLinkageExtractRepository, TempHTSClientLinkageExtractRepository>() .AddTransient <ITempHTSClientPartnerExtractRepository, TempHTSClientPartnerExtractRepository>() .AddTransient <IHTSClientExtractRepository, HTSClientExtractRepository>() .AddTransient <IHTSClientLinkageExtractRepository, HTSClientLinkageExtractRepository>() .AddTransient <IHTSClientPartnerExtractRepository, HTSClientPartnerExtractRepository>() .AddTransient <ICleanCbsExtracts, CleanCbsExtracts>() .AddTransient <IClearDwhExtracts, ClearDwhExtracts>() .AddTransient <ICleanHtsExtracts, CleanHtsExtracts>() .AddTransient <IMasterPatientIndexReader, MasterPatientIndexReader>() .AddTransient <IExtractSourceReader, ExtractSourceReader>() .AddTransient <IHTSExtractSourceReader, HTSExtractSourceReader>() .AddTransient <IPatientSourceExtractor, PatientSourceExtractor>() .AddTransient <IPatientStatusSourceExtractor, PatientStatusSourceExtractor>() .AddTransient <IPatientArtSourceExtractor, PatientArtSourceExtractor>() .AddTransient <IPatientBaselinesSourceExtractor, PatientBaselinesSourceExtractor>() .AddTransient <IPatientPharmacySourceExtractor, PatientPharmacySourceExtractor>() .AddTransient <IPatientVisitSourceExtractor, PatientVisitSourceExtractor>() .AddTransient <IPatientLaboratorySourceExtractor, PatientLaboratorySourceExtractor>() .AddTransient <IHTSClientSourceExtractor, HTSClientSourceExtractor>() .AddTransient <IHTSClientLinkageSourceExtractor, HTSClientLinkageSourceExtractor>() .AddTransient <IHTSClientPartnerSourceExtractor, HTSClientPartnerSourceExtractor>() .AddMediatR(typeof(ExtractMasterPatientIndexHandler)) .AddTransient <IMasterPatientIndexSourceExtractor, MasterPatientIndexSourceExtractor>() .AddTransient <IMasterPatientIndexLoader, MasterPatientIndexLoader>() .AddTransient <IPatientLoader, PatientLoader>() .AddTransient <IPatientArtLoader, PatientArtLoader>() .AddTransient <IPatientBaselinesLoader, PatientBaselinesLoader>() .AddTransient <IPatientLaboratoryLoader, PatientLaboratoryLoader>() .AddTransient <IPatientPharmacyLoader, PatientPharmacyLoader>() .AddTransient <IPatientStatusLoader, PatientStatusLoader>() .AddTransient <IPatientVisitLoader, PatientVisitLoader>() .AddTransient <IHTSClientLoader, HTSClientLoader>() .AddTransient <IHTSClientLinkageLoader, HTSClientLinkageLoader>() .AddTransient <IHTSClientPartnerLoader, HTSClientPartnerLoader>() .AddTransient <IEmrMetricRepository, EmrMetricRepository>() .AddTransient <IEmrMetricsService, EmrMetricsService>() .AddTransient <IAppDatabaseManager, AppDatabaseManager>() .BuildServiceProvider(); ServiceProvider = serviceProvider; ServiceProviderMysql = serviceProviderMysql; var settingsContext = serviceProvider.GetService <SettingsContext>(); var settingsContextMysql = serviceProviderMysql.GetService <SettingsContext>(); var extractsContext = serviceProvider.GetService <ExtractsContext>(); var extractsContextMysql = serviceProviderMysql.GetService <ExtractsContext>(); Iqtools = settingsContext.EmrSystems .Include(x => x.DatabaseProtocols) .Include(x => x.Extracts) .First(x => x.Id == new Guid("a62216ee-0e85-11e8-ba89-0ed5f89f718b")); KenyaEmr = settingsContextMysql.EmrSystems .Include(x => x.DatabaseProtocols) .Include(x => x.Extracts) .First(x => x.Id == new Guid("a6221856-0e85-11e8-ba89-0ed5f89f718b")); Validator = extractsContext.Validator.First(); var dbmanager = ServiceProvider.GetService <IAppDatabaseManager>(); IqToolsDatabase = dbmanager.ReadConnection(settingsContext.Database.GetDbConnection().ConnectionString, DatabaseProvider.MsSql); IQtoolsDbProtocol = Iqtools.DatabaseProtocols.First(x => x.DatabaseName.ToLower().Contains("iqtools".ToLower())); IQtoolsDbProtocol.Host = IqToolsDatabase.Server; IQtoolsDbProtocol.Username = IqToolsDatabase.User; IQtoolsDbProtocol.Password = IqToolsDatabase.Password; KenyaEmrDatabase = dbmanager.ReadConnection(settingsContextMysql.Database.GetDbConnection().ConnectionString, DatabaseProvider.MySql); KenyaEmrDbProtocol = KenyaEmr.DatabaseProtocols.First(); KenyaEmrDbProtocol.Host = KenyaEmrDatabase.Server; KenyaEmrDbProtocol.Username = KenyaEmrDatabase.User; KenyaEmrDbProtocol.Password = KenyaEmrDatabase.Password; /*try * { * settingsContext.Database.Migrate(); * settingsContext.EnsureSeeded(); * * settingsContextMysql.Database.Migrate(); * settingsContextMysql.EnsureSeeded(); * * extractsContext.Database.Migrate(); * extractsContext.EnsureSeeded(); * * extractsContextMysql.Database.Migrate(); * extractsContextMysql.EnsureSeeded(); * * Iqtools = settingsContext.EmrSystems * .Include(x => x.DatabaseProtocols) * .Include(x => x.Extracts) * .First(x => x.Id == new Guid("a62216ee-0e85-11e8-ba89-0ed5f89f718b")); * * KenyaEmr = settingsContextMysql.EmrSystems * .Include(x => x.DatabaseProtocols) * .Include(x => x.Extracts) * .First(x => x.Id == new Guid("a6221856-0e85-11e8-ba89-0ed5f89f718b")); * * Validator = extractsContext.Validator.First(); * } * catch (Exception e) * { * Console.WriteLine(e); * }*/ Mapper.Initialize(cfg => { cfg.AddDataReaderMapping(); cfg.AddProfile <TempMasterPatientIndexProfile>(); cfg.AddProfile <TempExtractProfile>(); cfg.AddProfile <TempHtsExtractProfile>(); cfg.AddProfile <EmrProfiles>(); } ); }
public bool VerifyConnection(DatabaseProtocol databaseProtocol) { return(_databaseManager.VerifyConnection(databaseProtocol)); }
public void SaveProtocol(DatabaseProtocol protocol) { _databaseProtocolRepository.CreateOrUpdate(protocol); _databaseProtocolRepository.SaveChanges(); }
public bool Verfiy(Extract extract, DatabaseProtocol databaseProtocol) { return(_databaseManager.VerifyQuery(extract, databaseProtocol)); }
public ExtractDbProtocolDTO(Extract extract, DatabaseProtocol databaseProtocol) { Extract = extract; DatabaseProtocol = databaseProtocol; }