diff --git a/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj b/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj index ef1c05cd..1ffedc4e 100644 --- a/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj +++ b/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj @@ -58,6 +58,9 @@ + + 2.1.4 + 1.1.4.168 @@ -67,6 +70,9 @@ 1.60.3 + + 1.5.231 + 3.2.0.871581 diff --git a/AideDeJeu/AideDeJeu.Android/MainActivity.cs b/AideDeJeu/AideDeJeu.Android/MainActivity.cs index 541808a1..bfbd00a8 100644 --- a/AideDeJeu/AideDeJeu.Android/MainActivity.cs +++ b/AideDeJeu/AideDeJeu.Android/MainActivity.cs @@ -23,6 +23,7 @@ namespace AideDeJeu.Droid Rg.Plugins.Popup.Popup.Init(this, bundle); global::Xamarin.Forms.Forms.Init(this, bundle); + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3()); LoadApplication(new App()); } diff --git a/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj b/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj index 7ea771f9..2b39f25d 100644 --- a/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj +++ b/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj @@ -64,6 +64,54 @@ ..\..\packages\Markdig.0.15.4\lib\net40\Markdig.dll + + ..\..\packages\Microsoft.Data.Sqlite.Core.2.1.0\lib\netstandard2.0\Microsoft.Data.Sqlite.dll + + + ..\..\packages\Microsoft.EntityFrameworkCore.2.1.4\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll + + + ..\..\packages\Microsoft.EntityFrameworkCore.Abstractions.2.1.4\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Abstractions.dll + + + ..\..\packages\Microsoft.EntityFrameworkCore.Relational.2.1.4\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Relational.dll + + + ..\..\packages\Microsoft.EntityFrameworkCore.Sqlite.Core.2.1.4\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Sqlite.dll + + + ..\..\packages\Microsoft.Extensions.Caching.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll + + + ..\..\packages\Microsoft.Extensions.Caching.Memory.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll + + + ..\..\packages\Microsoft.Extensions.Configuration.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll + + + ..\..\packages\Microsoft.Extensions.Configuration.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll + + + ..\..\packages\Microsoft.Extensions.Configuration.Binder.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll + + + ..\..\packages\Microsoft.Extensions.DependencyInjection.2.1.1\lib\net461\Microsoft.Extensions.DependencyInjection.dll + + + ..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\..\packages\Microsoft.Extensions.Logging.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.dll + + + ..\..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\..\packages\Microsoft.Extensions.Options.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Options.dll + + + ..\..\packages\Microsoft.Extensions.Primitives.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll + ..\..\packages\Xamarin.Forms.Platform.GTK.3.2.0.871581\lib\net45\OpenTK.dll @@ -71,11 +119,55 @@ False ..\..\..\..\..\..\..\..\Program Files (x86)\GtkSharp\2.12\lib\gtk-sharp-2.0\pango-sharp.dll + + ..\..\packages\Remotion.Linq.2.2.0\lib\net45\Remotion.Linq.dll + ..\..\packages\Rg.Plugins.Popup.1.1.4.168\lib\netstandard1.0\Rg.Plugins.Popup.dll + + ..\..\packages\sqlite-net-pcl.1.5.231\lib\netstandard1.1\SQLite-net.dll + + + ..\..\packages\SQLitePCLRaw.bundle_green.1.1.11\lib\net45\SQLitePCLRaw.batteries_green.dll + + + ..\..\packages\SQLitePCLRaw.bundle_green.1.1.11\lib\net45\SQLitePCLRaw.batteries_v2.dll + + + ..\..\packages\SQLitePCLRaw.core.1.1.11\lib\net45\SQLitePCLRaw.core.dll + + + ..\..\packages\SQLitePCLRaw.provider.e_sqlite3.net45.1.1.11\lib\net45\SQLitePCLRaw.provider.e_sqlite3.dll + + + ..\..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll + + + ..\..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll + + + ..\..\packages\System.ComponentModel.Annotations.4.5.0\lib\net461\System.ComponentModel.Annotations.dll + + + + ..\..\packages\System.Diagnostics.DiagnosticSource.4.5.1\lib\net46\System.Diagnostics.DiagnosticSource.dll + + + ..\..\packages\System.Interactive.Async.3.1.1\lib\net46\System.Interactive.Async.dll + + + ..\..\packages\System.Memory.4.5.1\lib\netstandard2.0\System.Memory.dll + + + + ..\..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll + + + ..\..\packages\System.Runtime.CompilerServices.Unsafe.4.5.1\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + @@ -104,6 +196,7 @@ + @@ -168,6 +261,12 @@ + + + + + + \ No newline at end of file diff --git a/AideDeJeu/AideDeJeu.GTK/Program.cs b/AideDeJeu/AideDeJeu.GTK/Program.cs index b2879899..48523a2a 100644 --- a/AideDeJeu/AideDeJeu.GTK/Program.cs +++ b/AideDeJeu/AideDeJeu.GTK/Program.cs @@ -15,6 +15,7 @@ namespace AideDeJeu.GTK { Gtk.Application.Init(); Forms.Init(); + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3()); var app = new App(); var window = new FormsWindow(); diff --git a/AideDeJeu/AideDeJeu.GTK/packages.config b/AideDeJeu/AideDeJeu.GTK/packages.config index 785d8879..bd6a1361 100644 --- a/AideDeJeu/AideDeJeu.GTK/packages.config +++ b/AideDeJeu/AideDeJeu.GTK/packages.config @@ -1,7 +1,40 @@  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj b/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj index d2cf0370..c0ce1d3c 100644 --- a/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj +++ b/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj @@ -192,6 +192,9 @@ + + 2.1.4 + 1.1.4.168 @@ -202,6 +205,9 @@ 1.60.3 + + 1.5.231 + 3.2.0.871581 diff --git a/AideDeJeu/AideDeJeu.UWP/App.xaml.cs b/AideDeJeu/AideDeJeu.UWP/App.xaml.cs index 3e36eebd..20c9c3a4 100644 --- a/AideDeJeu/AideDeJeu.UWP/App.xaml.cs +++ b/AideDeJeu/AideDeJeu.UWP/App.xaml.cs @@ -56,6 +56,7 @@ namespace AideDeJeu.UWP //Xamarin.Forms.Forms.Init(e); Xamarin.Forms.Forms.Init(e, Rg.Plugins.Popup.Popup.GetExtraAssemblies()); + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3()); if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { diff --git a/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj b/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj index baa982a6..b4896203 100644 --- a/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj +++ b/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj @@ -114,6 +114,9 @@ + + 2.1.4 + 1.1.4.168 @@ -123,6 +126,9 @@ 1.60.3 + + 1.5.231 + 3.2.0.871581 diff --git a/AideDeJeu/AideDeJeu.iOS/AppDelegate.cs b/AideDeJeu/AideDeJeu.iOS/AppDelegate.cs index 53e1d6d2..77ddb2c7 100644 --- a/AideDeJeu/AideDeJeu.iOS/AppDelegate.cs +++ b/AideDeJeu/AideDeJeu.iOS/AppDelegate.cs @@ -25,6 +25,7 @@ namespace AideDeJeu.iOS Rg.Plugins.Popup.Popup.Init(); global::Xamarin.Forms.Forms.Init(); + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); LoadApplication(new App()); return base.FinishedLaunching(app, options); diff --git a/AideDeJeu/AideDeJeu/AideDeJeu.csproj b/AideDeJeu/AideDeJeu/AideDeJeu.csproj index f909f435..14d94ea6 100644 --- a/AideDeJeu/AideDeJeu/AideDeJeu.csproj +++ b/AideDeJeu/AideDeJeu/AideDeJeu.csproj @@ -29,9 +29,11 @@ + + diff --git a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs index 4adeba75..1a9a2b48 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs @@ -4,7 +4,7 @@ using Markdig; using Markdig.Parsers; using Markdig.Syntax; using Markdig.Syntax.Inlines; -using SQLite; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; @@ -363,57 +363,28 @@ namespace AideDeJeu.ViewModels } - - - public class TodoItemDatabase + public class AideDeJeuContext : DbContext { - readonly SQLiteAsyncConnection database; + public string DatabasePath { get; set; } + public DbSet Spells { get; set; } + public DbSet Monsters { get; set; } - public TodoItemDatabase(string dbPath) + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - database = new SQLiteAsyncConnection(dbPath); - database.CreateTableAsync().Wait(); - } - - public Task> GetItemsAsync() - { - return database.Table().ToListAsync(); - } - - public Task> GetItemsNotDoneAsync() - { - return database.QueryAsync("SELECT * FROM [Item]"); - } - - public Task GetItemAsync(string id) - { - return database.Table().Where(i => i.Id == id).FirstOrDefaultAsync(); - } - - public Task SaveItemAsync(Item item) - { - if (!string.IsNullOrEmpty(item.Id)) - { - return database.UpdateAsync(item); - } - else - { - return database.InsertAsync(item); - } - } - - public Task DeleteItemAsync(Item item) - { - return database.DeleteAsync(item); + optionsBuilder.UseSqlite($"Data Source={DatabasePath}"); } } + + + public async Task GetItemFromDataAsync(string source, string anchor) { - SQLiteAsyncConnection database; var dbPath = DependencyService.Get().GetDatabasePath("database.db"); - database = new SQLiteAsyncConnection(dbPath, SQLiteOpenFlags.ReadOnly); + using (var context = new AideDeJeuContext() { DatabasePath = dbPath }) + { + var monsters = await context.Monsters.ToListAsync(); + } return null; - var it = await database.Table().ToListAsync(); var id = $"{source}.md#{anchor}"; diff --git a/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj b/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj index 28b0ad6a..8a572204 100644 --- a/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj +++ b/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj @@ -11,6 +11,8 @@ + + diff --git a/AideDeJeu/AideDeJeuCmd/Program.cs b/AideDeJeu/AideDeJeuCmd/Program.cs index 15dd1287..9b263810 100644 --- a/AideDeJeu/AideDeJeuCmd/Program.cs +++ b/AideDeJeu/AideDeJeuCmd/Program.cs @@ -291,6 +291,7 @@ namespace AideDeJeuCmd static async Task Main(string[] args) { Tests.Xamarin.Forms.Mocks.MockForms.Init(); + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3()); DependencyService.Register(); var store = new StoreViewModel(); await store.GetItemFromDataAsync("test", "truc"); diff --git a/AideDeJeu/AideDeJeuUnitTest/AideDeJeuUnitTest.csproj b/AideDeJeu/AideDeJeuUnitTest/AideDeJeuUnitTest.csproj index afd2b4df..9fa9e6c3 100644 --- a/AideDeJeu/AideDeJeuUnitTest/AideDeJeuUnitTest.csproj +++ b/AideDeJeu/AideDeJeuUnitTest/AideDeJeuUnitTest.csproj @@ -7,9 +7,11 @@ + + diff --git a/AideDeJeu/AideDeJeuWeb/AideDeJeuWeb.csproj b/AideDeJeu/AideDeJeuWeb/AideDeJeuWeb.csproj index c48d81eb..4b17b4ce 100644 --- a/AideDeJeu/AideDeJeuWeb/AideDeJeuWeb.csproj +++ b/AideDeJeu/AideDeJeuWeb/AideDeJeuWeb.csproj @@ -10,6 +10,8 @@ + +