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
        }
Esempio n. 2
0
#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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
#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);
        }
Esempio n. 9
0
 static SqlCeFactory()
 {
     DataConnection.AddDataProvider(_sqlCeDataProvider);
 }
Esempio n. 10
0
 static SqlCeTools()
 {
     DataConnection.AddDataProvider(_sqlCeDataProvider);
 }
Esempio n. 11
0
 static SQLiteFactory()
 {
     DataConnection.AddDataProvider(_SQLiteDataProvider);
 }
Esempio n. 12
0
 static TestNoopProvider()
 {
     DataConnection.AddDataProvider(new TestNoopProvider());
 }
Esempio n. 13
0
 static SybaseFactory()
 {
     DataConnection.AddDataProvider(_sybaseDataProvider);
 }
Esempio n. 14
0
 static Informix()
 {
     DataConnection.AddDataProvider(_informixDataProvider);
 }
Esempio n. 15
0
 static MySqlFactory()
 {
     DataConnection.AddDataProvider(_mySqlDataProvider);
 }
Esempio n. 16
0
 static AS400Tools()
 {
     //DataConnection.AddDataProvider(AS400Factory.AS400ProviderName, _AS400DataProvider);
     DataConnection.AddDataProvider(_AS400DataProvider);
 }
Esempio n. 17
0
 static DB2Factory()
 {
     DataConnection.AddDataProvider(_db2DataProvider);
 }
Esempio n. 18
0
 static AccessTools_OleDb()
 {
     DataConnection.AddDataProvider(_accessDataProvider_OleDb);
 }
Esempio n. 19
0
 static AccessTools_Odbc()
 {
     DataConnection.AddDataProvider(_accessDataProvider_Odbc);
 }
Esempio n. 20
0
        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
        }
Esempio n. 21
0
 static SQLiteTools()
 {
     DataConnection.AddDataProvider(_SQLiteDataProvider);
 }
Esempio n. 22
0
 public override void AddDatabase(IServiceCollection services)
 {
     services.AddSingleton <IDbConnection, DbConnection>();
     DataConnection.AddDataProvider(nameof(MyDataProvider), new MyDataProvider());
     DataConnection.DefaultSettings = new MockDbSettings();
 }
Esempio n. 23
0
 static SybaseTools()
 {
     DataConnection.AddDataProvider(_sybaseDataProvider);
 }
Esempio n. 24
0
 static PostgreSQLFactory()
 {
     DataConnection.AddDataProvider(_postgreSQLDataProvider);
 }
Esempio n. 25
0
 static PostgreSQLTools()
 {
     DataConnection.AddDataProvider(_postgreSQLDataProvider);
 }
Esempio n. 26
0
 static FirebirdFactory()
 {
     DataConnection.AddDataProvider(_firebirdDataProvider);
 }
Esempio n. 27
0
 static AccessTools()
 {
     DataConnection.AddDataProvider(_accessDataProvider);
 }
Esempio n. 28
0
        // 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();
                }
            }
        }
Esempio n. 29
0
 static MySqlTools()
 {
     DataConnection.AddDataProvider(_mySqlDataProvider);
 }
Esempio n. 30
0
 static FirebirdTools()
 {
     DataConnection.AddDataProvider(_firebirdDataProvider);
 }