public SqlDatabaseInformation(DatabasePropertyReaderBase propertyReader) { PropertyReader = propertyReader ?? throw new ArgumentNullException(nameof(propertyReader)); Name = propertyReader.Name; DatabaseType = propertyReader.DatabaseType; IsDefault = propertyReader.IsDefault; }
private DatabaseInformation ConvertConfigurationToDatabaseInformation(DatabaseInformationOptions options) { DatabasePropertyReaderBase propertyReader = null; // 저장 형식 // ReSharper disable once SwitchStatementMissingSomeCases switch (options.StoreType) { // TODO: 암호화 문자열, 키 스토어 용 IDatabasePropertyReader 구현 case DatabaseInformationStoreType.Plain: // 일반 문자열 이용 case DatabaseInformationStoreType.Secure: // 암호화 문자열 이용 case DatabaseInformationStoreType.KeyStore: // 키 스토어 이용 propertyReader = new PlainDatabasePropertyReader(options); break; } var dbInfo = InformationFactory.Create(propertyReader); if (dbInfo == null) { throw new ApplicationException($"'{options.DatabaseType}' 은 지원하지 않은 데이터베이스 형식입니다."); } return(dbInfo); }