Exemple #1
0
 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;
 }
Exemple #5
0
 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)));
 }
Exemple #9
0
 public FileCertificateResolver(IApplicationDomain applicationDomain)
 {
     this.ApplicationDomain = applicationDomain ?? throw new ArgumentNullException(nameof(applicationDomain));
 }
 public static string GetDataDirectoryPath(this IApplicationDomain applicationDomain)
 {
     return(applicationDomain.GetDataDirectory());
 }
 public FubuMvcApplicationFileWatcher(IApplicationDomain applicationDomain)
 {
     _applicationDomain = applicationDomain;
 }