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