public DatabaseManager(IApplicationDomain applicationDomain, IConnectionStringBuilder connectionStringBuilder, DbProviderFactory databaseProviderFactory, IFileSystem fileSystem) { this.ApplicationDomain = applicationDomain ?? throw new ArgumentNullException(nameof(applicationDomain)); this.ConnectionStringBuilder = connectionStringBuilder ?? throw new ArgumentNullException(nameof(connectionStringBuilder)); this.DatabaseProviderFactory = databaseProviderFactory ?? throw new ArgumentNullException(nameof(databaseProviderFactory)); this.FileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); }
public DatabaseManagerFactory(IApplicationDomain applicationDomain, IConnectionStringBuilderFactory connectionStringBuilderFactory, IFileSystem fileSystem, IProviderFactories providerFactories) { this.ApplicationDomain = applicationDomain ?? throw new ArgumentNullException(nameof(applicationDomain)); this.ConnectionStringBuilderFactory = connectionStringBuilderFactory ?? throw new ArgumentNullException(nameof(connectionStringBuilderFactory)); this.FileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); this.ProviderFactories = providerFactories ?? throw new ArgumentNullException(nameof(providerFactories)); }
public static string GetDataDirectory(this IApplicationDomain applicationDomain, bool validate = true) { if (applicationDomain == null) { throw new ArgumentNullException(nameof(applicationDomain)); } if (applicationDomain is not IWrapper <AppDomain> appDomainWrapper) { throw new InvalidOperationException($"This method only supports {nameof(IApplicationDomain)}-instances implementing {nameof(IWrapper<AppDomain>)}."); } return(appDomainWrapper.WrappedInstance.GetDataDirectory(validate)); }
public PathSubstitutionResolver(IApplicationDomain applicationDomain, StringComparison comparison = StringComparison.OrdinalIgnoreCase) { this.ApplicationDomain = applicationDomain ?? throw new ArgumentNullException(nameof(applicationDomain)); this.Comparison = comparison; }
public FubuMvcApplicationFileWatcher(IApplicationDomain applicationDomain) { _applicationDomain = applicationDomain; }
public static string GetActualDatabaseFilePath(this IConnectionStringBuilder connectionStringBuilder, IApplicationDomain applicationDomain) { if (connectionStringBuilder == null) { throw new ArgumentNullException(nameof(connectionStringBuilder)); } if (applicationDomain == null) { throw new ArgumentNullException(nameof(applicationDomain)); } var databaseFilePath = connectionStringBuilder.DatabaseFilePath; // ReSharper disable InvertIf if (!string.IsNullOrWhiteSpace(databaseFilePath)) { const string dataDirectory = "DataDirectory"; var pattern = Regex.Escape("|") + dataDirectory + Regex.Escape("|"); if (Regex.IsMatch(databaseFilePath, pattern, RegexOptions.IgnoreCase)) { var dataDirectoryPath = applicationDomain.GetDataDirectoryPath(); const string backslash = @"\"; if (!dataDirectoryPath.Trim().EndsWith(backslash, StringComparison.OrdinalIgnoreCase)) { dataDirectoryPath += backslash; } databaseFilePath = Regex.Replace(databaseFilePath, pattern, dataDirectoryPath, RegexOptions.IgnoreCase); } } // ReSharper restore InvertIf return(databaseFilePath); }
public static string GetActualDatabase(this IConnectionStringBuilder connectionStringBuilder, IApplicationDomain applicationDomain) { if (connectionStringBuilder == null) { throw new ArgumentNullException(nameof(connectionStringBuilder)); } return(connectionStringBuilder.Database ?? connectionStringBuilder.GetActualDatabaseFilePath(applicationDomain)); }
protected internal virtual async Task <PathSubstitutionResolver> CreatePathSubstitutionResolverAsync(IApplicationDomain applicationDomain) { return(await Task.FromResult(new PathSubstitutionResolver(applicationDomain))); }
public FileCertificateResolver(IApplicationDomain applicationDomain) { this.ApplicationDomain = applicationDomain ?? throw new ArgumentNullException(nameof(applicationDomain)); }
public static string GetDataDirectoryPath(this IApplicationDomain applicationDomain) { return(applicationDomain.GetDataDirectory()); }