Skip to content

Commit 0458617

Browse files
Merge pull request #457 from AndreasReitberger/456-add-insertorupdate-sqlite-methods
Added `Update` methods to `SQLite` service
2 parents 735fdbd + fb78941 commit 0458617

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

src/SharedMauiCoreLibrary.Database.SQLite/Interfaces/ISqliteDatabaseService.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using AndreasReitberger.Shared.Core.Interfaces;
2-
using SQLite;
1+
using SQLite;
32

43
namespace AndreasReitberger.Shared.Core.Database.Interfaces
54
{
@@ -30,6 +29,8 @@ public interface ISqliteDatabaseService : IDisposable
3029
public Task<T?> GetWithChildrenAsync<T>(object primaryKey, bool recursive) where T : new();
3130
public Task InsertWithChildrenAsync<T>(T insert, bool replace = false, bool recursive = true) where T : new();
3231
public Task InsertAllWithChildrenAsync<T>(IList<T> insert, bool replace = false, bool recursive = true) where T : new();
32+
public Task UpdateWithChildrenAsync<T>(T insert, bool recursive = true) where T : new();
33+
public Task UpdateAllWithChildrenAsync<T>(IList<T> insert, bool recursive = true) where T : new();
3334
public Task<int> DeleteWithChildrenAsync<T>(object primaryKey) where T : new();
3435
public List<TableMapping>? GetTableMappings();
3536
public Task<List<int>> DropAllTableAsync();

src/SharedMauiCoreLibrary.Database.SQLite/Service/SqliteDatabaseService.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,13 @@ public async Task DisconnectAsync()
120120
await Database.InsertAllWithChildrenAsync(insert, recursive: recursive).ConfigureAwait(false);
121121
}
122122
}
123+
124+
public Task UpdateWithChildrenAsync<T>(T insert, bool recursive = true) where T : new()
125+
=> InsertWithChildrenAsync(insert, replace: true, recursive);
126+
127+
public Task UpdateAllWithChildrenAsync<T>(IList<T> insert, bool recursive = true) where T : new()
128+
=> InsertAllWithChildrenAsync(insert, replace: true, recursive);
129+
123130
public async Task<int> DeleteWithChildrenAsync<T>(object primaryKey) where T : new()
124131
{
125132
if (Database is not null)

0 commit comments

Comments
 (0)