private SQLiteConnection CreateSQLiteConnection(string nativeDbPath, CreationCollisionOption creationCollisionOption)
{
if (string.IsNullOrEmpty(nativeDbPath) || databaseNameProvider == null || fileService == null || sqlitePlatformProvider == null) return null;
try
{
createSqlConnectionResetEvent.WaitOne();
if (creationCollisionOption == CreationCollisionOption.OpenIfExists && SqliteDbConnection != null)
{
return SqliteDbConnection;
}
SqliteDbConnection = new SQLiteConnection(sqlitePlatformProvider.SqLitePlatform, nativeDbPath, SQLiteOpenFlags.Create | SQLiteOpenFlags.ReadWrite);
return SqliteDbConnection;
}
catch (Exception e)
{
Debug.WriteLine(e);
}
finally
{
createSqlConnectionResetEvent.Set();
}
return null;
}
}