public async Task SyncDataBaseAsync(DateTime?createdOrChangedAfter = null) { try { lock (pushing) { Task.Run(() => Client.SyncContext.PushAsync()); } if (createdOrChangedAfter != null) { await SyncTableModel.PullAsync(typeof(TModel).Name, SyncTableModel.Where(x => x.UpdatedAt >= createdOrChangedAfter)); } else { await SyncTableModel.PullAsync(typeof(TModel).Name, SyncTableModel.CreateQuery()); } var list = (await SyncTableModel.ToListAsync()); MergeDictionaries(Cache, (list.Count > 0 ? list.ToDictionary((key) => key.Id, (value) => value) : null)); } catch (Exception err) { Log.Log.Instance.AddLog(err); } }
public async Task PullUpdatesAsync() { try { await SyncTableModel.PullAsync(typeof(TModel).Name, SyncTableModel.CreateQuery()); MergeDictionaries(Cache, (await SyncTableModel.ToListAsync()).ToDictionary((key) => key.Id, (value) => value)); } catch (Exception err) { Log.Log.Instance.AddLog(err); } }