public async Task StoreImages(IEnumerable<Tuple<string, string>> apiResults, string uri)
{
try
{
await Initialize();
if (_terminateSource.IsCancellationRequested)
return;
var apiString = JsonConvert.SerializeObject(apiResults);
var uriBytes = Encoding.UTF8.GetBytes(uri);
var apiBytes = Encoding.UTF8.GetBytes(apiString);
using (var apiCursor = await _imageAPIDb.SeekAsync(_imageAPIDb.GetKeys()[0], uriBytes, DBReadFlags.AutoLock | DBReadFlags.WaitOnLock))
{
if (_terminateSource.IsCancellationRequested)
return;
if (apiCursor != null)
{
await _imageAPIDb.UpdateAsync(uriBytes, apiBytes);
}
else
{
await _imageAPIDb.InsertAsync(uriBytes, apiBytes);
}
}
}
catch (Exception ex)
{
var errorText = DBError.TranslateError((uint)ex.HResult);
Debug.WriteLine(errorText);
Debug.WriteLine(ex.ToString());
}
}