public static void Init() { #if !NETSTANDARD1_6 && !NETSTANDARD2_0 var path = "npgsql4/net451/npgsql.dll"; #elif NETSTANDARD2_0 var path = "npgsql4/netstandard2.0/npgsql.dll"; #endif #if !NETSTANDARD1_6 if (File.Exists(path)) { DataConnection.AddDataProvider(new Npgsql4PostgreSQLDataProvider(path)); } #endif }
#pragma warning disable 3015, 219 static SybaseTools() { try { var path = typeof(SybaseTools).AssemblyEx().GetPath(); var _ = File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet45.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet4.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet35.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet2.AseClient") + ".dll")); } catch (Exception) { } DataConnection.AddDataProvider(_sybaseDataProvider); }
static SybaseTools() { try { var path = typeof(SybaseTools).Assembly.CodeBase.Replace("file:///", ""); path = Path.GetDirectoryName(path); var _ = File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet45.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet4.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet35.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (AssemblyName = "Sybase.AdoNet2.AseClient") + ".dll")); } catch (Exception) { } DataConnection.AddDataProvider(_sybaseDataProvider); }
static SQLiteTools() { #if !NETSTANDARD try { var path = typeof(SQLiteTools).AssemblyEx().GetPath(); if (!File.Exists(Path.Combine(path, AssemblyName + ".dll")) && (Type.GetType("Mono.Runtime") != null || File.Exists(Path.Combine(path, "Mono.Data.Sqlite.dll")))) { AssemblyName = "Mono.Data.Sqlite"; ConnectionName = "SqliteConnection"; DataReaderName = "SqliteDataReader"; } } catch (Exception) { } #endif DataConnection.AddDataProvider(_SQLiteDataProvider); }
static OracleTools() { try { var path = typeof(OracleTools).Assembly.CodeBase.Replace("file:///", ""); path = Path.GetDirectoryName(path); if (!File.Exists(Path.Combine(path, "Oracle.DataAccess.dll"))) { if (File.Exists(Path.Combine(path, "Oracle.ManagedDataAccess.dll"))) { AssemblyName = "Oracle.ManagedDataAccess"; } } } catch (Exception) { } DataConnection.AddDataProvider(_oracleDataProvider); }
static SQLiteTools() { try { var path = typeof(SQLiteTools).Assembly.CodeBase.Replace("file:///", ""); path = Path.GetDirectoryName(path); if (!File.Exists(Path.Combine(path, "System.Data.SQLite.dll")) && (Type.GetType("Mono.Runtime") != null || File.Exists(Path.Combine(path, "Mono.Data.Sqlite.dll")))) { AssemblyName = "Mono.Data.Sqlite"; ConnectionName = "SqliteConnection"; DataReaderName = "SqliteDataReader"; } } catch (Exception) { } DataConnection.AddDataProvider(_SQLiteDataProvider); }
static SapHanaTools() { try { var path = typeof(SapHanaTools).AssemblyEx().GetPath(); if (!String.IsNullOrEmpty(path)) { if (!File.Exists(Path.Combine(path, AssemblyName + ".dll"))) { if (File.Exists(Path.Combine(path, AssemblyName + ".v4.5.dll"))) { AssemblyName += ".v4.5"; } } } } catch { } DataConnection.AddDataProvider(_hanaDataProvider); }
#pragma warning disable 3015, 219 static SybaseTools() { try { var path = typeof(SybaseTools).AssemblyEx().GetPath(); var _ = File.Exists(Path.Combine(path, (NativeAssemblyName = "Sybase.AdoNet45.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (NativeAssemblyName = "Sybase.AdoNet4.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (NativeAssemblyName = "Sybase.AdoNet35.AseClient") + ".dll")) || File.Exists(Path.Combine(path, (NativeAssemblyName = "Sybase.AdoNet2.AseClient") + ".dll")); } catch { } AssemblyName = DetectedProviderName == ProviderName.SybaseManaged ? "AdoNetCore.AseClient" : NativeAssemblyName; DataConnection.AddDataProvider(ProviderName.Sybase, DetectedProvider); DataConnection.AddDataProvider(_sybaseNativeDataProvider); DataConnection.AddDataProvider(_sybaseManagedDataProvider); DataConnection.AddProviderDetector(ProviderDetector); }
static SqlCeFactory() { DataConnection.AddDataProvider(_sqlCeDataProvider); }
static SqlCeTools() { DataConnection.AddDataProvider(_sqlCeDataProvider); }
static SQLiteFactory() { DataConnection.AddDataProvider(_SQLiteDataProvider); }
static TestNoopProvider() { DataConnection.AddDataProvider(new TestNoopProvider()); }
static SybaseFactory() { DataConnection.AddDataProvider(_sybaseDataProvider); }
static Informix() { DataConnection.AddDataProvider(_informixDataProvider); }
static MySqlFactory() { DataConnection.AddDataProvider(_mySqlDataProvider); }
static AS400Tools() { //DataConnection.AddDataProvider(AS400Factory.AS400ProviderName, _AS400DataProvider); DataConnection.AddDataProvider(_AS400DataProvider); }
static DB2Factory() { DataConnection.AddDataProvider(_db2DataProvider); }
static AccessTools_OleDb() { DataConnection.AddDataProvider(_accessDataProvider_OleDb); }
static AccessTools_Odbc() { DataConnection.AddDataProvider(_accessDataProvider_Odbc); }
static TestBase() { Console.WriteLine("Tests started in {0}...", #if NETSTANDARD1_6 System.IO.Directory.GetCurrentDirectory() #else Environment.CurrentDirectory #endif ); Console.WriteLine("CLR Version: {0}...", #if NETSTANDARD1_6 System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription #else Environment.Version #endif ); var traceCount = 0; DataConnection.WriteTraceLine = (s1, s2) => { if (traceCount < 10000) { Console.WriteLine("{0}: {1}", s2, s1); Debug.WriteLine(s1, s2); } if (traceCount++ > 10000) { DataConnection.TurnTraceSwitchOn(TraceLevel.Error); } }; // Configuration.RetryPolicy.Factory = db => new Retry(); // Configuration.AvoidSpecificDataProviderAPI = true; Configuration.Linq.TraceMapperExpression = false; // Configuration.Linq.GenerateExpressionTest = true; var assemblyPath = typeof(TestBase).AssemblyEx().GetPath(); #if NETSTANDARD1_6 System.IO.Directory.SetCurrentDirectory(assemblyPath); #else Environment.CurrentDirectory = assemblyPath; #endif var dataProvidersJsonFile = GetFilePath(assemblyPath, @"DataProviders.json"); var userDataProvidersJsonFile = GetFilePath(assemblyPath, @"UserDataProviders.json"); var dataProvidersJson = File.ReadAllText(dataProvidersJsonFile); var userDataProvidersJson = File.Exists(userDataProvidersJsonFile) ? File.ReadAllText(userDataProvidersJsonFile) : null; #if NETSTANDARD1_6 var configName = "CORE1"; #elif NETSTANDARD2_0 var configName = "CORE2"; #else var configName = "NET45"; #endif var testSettings = SettingsReader.Deserialize(configName, dataProvidersJson, userDataProvidersJson); var databasePath = Path.GetFullPath(Path.Combine("Database")); var dataPath = Path.Combine(databasePath, "Data"); if (Directory.Exists(dataPath)) { Directory.Delete(dataPath, true); } Directory.CreateDirectory(dataPath); foreach (var file in Directory.GetFiles(databasePath, "*.*")) { var destination = Path.Combine(dataPath, Path.GetFileName(file)); Console.WriteLine("{0} => {1}", file, destination); File.Copy(file, destination, true); } UserProviders = new HashSet <string>(testSettings.Providers, StringComparer.OrdinalIgnoreCase); var logLevel = testSettings.TraceLevel; var traceLevel = TraceLevel.Info; if (!string.IsNullOrEmpty(logLevel)) { if (!Enum.TryParse(logLevel, true, out traceLevel)) { traceLevel = TraceLevel.Info; } } DataConnection.TurnTraceSwitchOn(traceLevel); Console.WriteLine("Connection strings:"); #if NETSTANDARD1_6 || NETSTANDARD2_0 DataConnection.DefaultSettings = TxtSettings.Instance; TxtSettings.Instance.DefaultConfiguration = "SQLiteMs"; foreach (var provider in testSettings.Connections /*.Where(c => UserProviders.Contains(c.Key))*/) { if (string.IsNullOrWhiteSpace(provider.Value.ConnectionString)) { throw new InvalidOperationException("ConnectionString should be provided"); } Console.WriteLine($"\tName=\"{provider.Key}\", Provider=\"{provider.Value.Provider}\", ConnectionString=\"{provider.Value.ConnectionString}\""); TxtSettings.Instance.AddConnectionString( provider.Key, provider.Value.Provider ?? provider.Key, provider.Value.ConnectionString); } #else foreach (var provider in testSettings.Connections) { Console.WriteLine($"\tName=\"{provider.Key}\", Provider=\"{provider.Value.Provider}\", ConnectionString=\"{provider.Value.ConnectionString}\""); switch (provider.Value.Provider) { case TestProvName.DB2i: case TestProvName.DB2iGAS: case TestProvName.DB2i73GAS: case TestProvName.DB2i73: DataConnection.AddDataProvider( provider.Value.Provider, new DB2iSeriesDataProvider(provider.Value.Provider, provider.Value.Provider.Contains(".73") ? DB2iSeriesLevels.V7_1_38 : DB2iSeriesLevels.Any, provider.Value.Provider.Contains(".GAS"))); DataConnection.AddOrSetConfiguration( provider.Value.Provider, provider.Value.ConnectionString, provider.Value.Provider); break; default: DataConnection.AddOrSetConfiguration( provider.Key, provider.Value.ConnectionString, provider.Value.Provider ?? ""); break; } } #endif Console.WriteLine("Providers:"); foreach (var userProvider in UserProviders) { Console.WriteLine($"\t{userProvider}"); } var defaultConfiguration = testSettings.DefaultConfiguration; if (!string.IsNullOrEmpty(defaultConfiguration)) { DataConnection.DefaultConfiguration = defaultConfiguration; #if NETSTANDARD1_6 || NETSTANDARD2_0 TxtSettings.Instance.DefaultConfiguration = defaultConfiguration; #endif } #if !NETSTANDARD1_6 && !NETSTANDARD2_0 LinqService.TypeResolver = str => { switch (str) { case "Tests.Model.Gender": return(typeof(Gender)); case "Tests.Model.Person": return(typeof(Person)); default: return(null); } }; #endif }
static SQLiteTools() { DataConnection.AddDataProvider(_SQLiteDataProvider); }
public override void AddDatabase(IServiceCollection services) { services.AddSingleton <IDbConnection, DbConnection>(); DataConnection.AddDataProvider(nameof(MyDataProvider), new MyDataProvider()); DataConnection.DefaultSettings = new MockDbSettings(); }
static SybaseTools() { DataConnection.AddDataProvider(_sybaseDataProvider); }
static PostgreSQLFactory() { DataConnection.AddDataProvider(_postgreSQLDataProvider); }
static PostgreSQLTools() { DataConnection.AddDataProvider(_postgreSQLDataProvider); }
static FirebirdFactory() { DataConnection.AddDataProvider(_firebirdDataProvider); }
static AccessTools() { DataConnection.AddDataProvider(_accessDataProvider); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole().AddFile("Logs/log-{Date}.txt", LogLevel.Warning); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto }); app.UseRequestLocalization(); app.Use(async(context, next) => { await next(); if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value) && !context.Request.Path.Value.StartsWith("/api/")) { var requestCulture = context.Features.Get <IRequestCultureFeature>().RequestCulture; context.Request.Path = $"/{requestCulture.Culture.TwoLetterISOLanguageName}/index.html"; await next(); } }); app.UseStaticFiles(); app.UseResponseCaching(); app.UseIdentity(); var jwtSettings = app.ApplicationServices.GetService <IOptions <JWTSettings> >().Value; //setup using this guide: https://auth0.com/blog/asp-dot-net-core-authentication-tutorial/ app.UseJwtBearerAuthentication(new JwtBearerOptions { TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtSettings.SecretKey)), ValidateIssuer = true, ValidIssuer = jwtSettings.Issuer, ValidateAudience = true, ValidAudience = jwtSettings.Audience }, Events = new JwtBearerEvents { OnMessageReceived = context => { context.Token = context.Request.Cookies[AuthenticateController.JwtCookieName]; return(Task.CompletedTask); } } }); app.UseCookieAuthentication(new CookieAuthenticationOptions { AutomaticAuthenticate = false, AutomaticChallenge = false }); app.UseMvc(); var settings = app.ApplicationServices.GetService <IOptions <Settings> >().Value; DataConnection.AddDataProvider(new MyPostgreSQLDataProvider("MyPostGreSQLProvider")); DataConnection.DefaultSettings = settings; LinqToDB.Common.Configuration.Linq.AllowMultipleQuery = true; TwilioClient.Init(settings.TwilioAccountSid, settings.TwilioAuthToken); using (var scope = app.ApplicationServices.CreateScope()) { var hereForYouConnection = scope.ServiceProvider.GetService <HereForYouConnection>(); if (env.IsDevelopment()) { DataConnection.TurnTraceSwitchOn(); DataConnection.WriteTraceLine = (message, category) => Debug.WriteLine(message, category); hereForYouConnection.Setup().Wait(); } } }
static MySqlTools() { DataConnection.AddDataProvider(_mySqlDataProvider); }
static FirebirdTools() { DataConnection.AddDataProvider(_firebirdDataProvider); }