public override void saveToDB()
{
if (imageCacheNew.Count == 0)
return;
Dictionary<String, Image> tempData;
try
{
tempData = new Dictionary<string, Image>(imageCacheNew);
imageCacheNew.Clear();
this.connect();
SQLiteCommand command = new SQLiteCommand(connection);
// only store new images
foreach (var imageData in tempData)
{
command.CommandText = String.Format("REPLACE INTO imageData (id, data) VALUES ('{0}', @0);", imageData.Key);
SQLiteParameter parameter = new SQLiteParameter("@0", System.Data.DbType.Binary);
parameter.Value = imageToByteArray(imageData.Value);
command.Parameters.Add(parameter);
command.ExecuteNonQueryAsync();
}
command.Dispose();
this.close();
tempData.Clear();
}
catch (Exception e)
{
this.writeLog(LogType.Warning, "Fehler beim speichern der Bilder auf der Datenbank", e);
}
}