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); }
/// <summary>데이터베이스 연결 정보 항목 구성 섹션을 이용하여 초기화합니다.</summary> /// <param name="options">개별 데이터베이스 연결 정보 구성 섹션</param> protected DatabasePropertyReaderBase(DatabaseInformationOptions options) { DatabaseOptions = options ?? throw new ArgumentNullException(nameof(options)); }