Esempio n. 1
0
 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);
        }