using OI.Metrology.Server.Models; using OI.Metrology.Shared.Models.Stateless; namespace OI.Metrology.Server.Repository; public class AppSettingsRepository : IAppSettingsRepository { private readonly AppSettings _AppSettings; public AppSettingsRepository(AppSettings appSettings) => _AppSettings = appSettings; internal AppSettings GetAppSettings() { AppSettings result = _AppSettings; return result; } AppSettings IAppSettingsRepository.GetAppSettings() => GetAppSettings(); internal string GetBuildNumberAndGitCommitSeven() { string result = string.Concat(_AppSettings.BuildNumber, '-', _AppSettings.GitCommitSeven); return result; } internal void VerifyConnectionStrings() { if (string.IsNullOrEmpty(_AppSettings.ConnectionString)) throw new NotSupportedException(); #if DEBUG if (!_AppSettings.ConnectionString.Contains("test", StringComparison.CurrentCultureIgnoreCase)) throw new NotSupportedException(); #endif #if !DEBUG if (_AppSettings.ConnectionString.Contains("test", StringComparison.CurrentCultureIgnoreCase)) throw new NotSupportedException(); #endif } string IAppSettingsRepository.GetBuildNumberAndGitCommitSeven() => GetBuildNumberAndGitCommitSeven(); void IAppSettingsRepository.VerifyConnectionStrings() => VerifyConnectionStrings(); }