summaryrefslogtreecommitdiff
path: root/dsa/FireBase/Offline/SetHandler.cs
diff options
context:
space:
mode:
authorDennis Kobert <d-kobert@web.de>2019-06-11 23:38:13 +0200
committerDennis Kobert <d-kobert@web.de>2019-06-11 23:38:13 +0200
commit2fa4a0e50ebfc97059c8b84dbd17e79f9afc8a8d (patch)
treec3b34ccb2737e347a73768536895cbbaab13cc01 /dsa/FireBase/Offline/SetHandler.cs
parentec991104f56e90d7bb2878da2fe6ed4e585dfc46 (diff)
parentaf74efccf8d21e6151022b71f3cacd3fa83024ee (diff)
Merge branch 'rework-backend'
Diffstat (limited to 'dsa/FireBase/Offline/SetHandler.cs')
-rw-r--r--dsa/FireBase/Offline/SetHandler.cs19
1 files changed, 19 insertions, 0 deletions
diff --git a/dsa/FireBase/Offline/SetHandler.cs b/dsa/FireBase/Offline/SetHandler.cs
new file mode 100644
index 0000000..6314c3c
--- /dev/null
+++ b/dsa/FireBase/Offline/SetHandler.cs
@@ -0,0 +1,19 @@
+using System.Threading.Tasks;
+using Firebase.Database.Query;
+
+namespace Firebase.Database.Offline
+{
+ public class SetHandler<T> : ISetHandler<T>
+ {
+ public virtual async Task SetAsync(ChildQuery query, string key, OfflineEntry entry)
+ {
+ using (var child = query.Child(key))
+ {
+ if (entry.SyncOptions == SyncOptions.Put)
+ await child.PutAsync(entry.Data);
+ else
+ await child.PatchAsync(entry.Data);
+ }
+ }
+ }
+} \ No newline at end of file