public static async Task UpdateCacheFromServerAsync()
{
// create a service proxy to call up to the server...
IGetReportsByUserServiceProxy proxy = ServiceProxyFactory.Current.GetHandler<IGetReportsByUserServiceProxy>();
var result = await proxy.GetReportsByUserAsync();
// did it actually work?
result.AssertNoErrors();
// update...
var conn = StreetFooRuntime.GetUserDatabase();
foreach (var report in result.Reports)
{
// load the existing one, deleting it if we find it...
var existing = await conn.Table<ReportItem>().Where(v => v.NativeId == report.NativeId).FirstOrDefaultAsync();
if (existing != null)
await conn.DeleteAsync(existing);
// create...
await conn.InsertAsync(report);
}
}