private void SaveBadgeForItem(String itemPath, String badgePath, Boolean isClear = false) {
var m_dbConnection = new System.Data.SQLite.SQLiteConnection("Data Source=" + this._DBPath + ";Version=3;");
m_dbConnection.Open();
if (isClear) {
var command3 = new System.Data.SQLite.SQLiteCommand("DELETE FROM badges WHERE Path=@Path", m_dbConnection);
command3.Parameters.AddWithValue("Path", itemPath);
command3.ExecuteNonQuery();
} else {
var command1 = new System.Data.SQLite.SQLiteCommand("SELECT * FROM badges WHERE Path=@Path", m_dbConnection);
command1.Parameters.AddWithValue("Path", itemPath);
var Reader = command1.ExecuteReader();
var sql = Reader.Read()
? @"UPDATE badges SET Collection = @Collection, Badge = @Badge WHERE Path = @Path"
: @"INSERT INTO badges (Path, Collection, Badge) VALUES (@Path, @Collection, @Badge)";
var command2 = new System.Data.SQLite.SQLiteCommand(sql, m_dbConnection);
command2.Parameters.AddWithValue("Path", itemPath);
command2.Parameters.AddWithValue("Collection", Path.GetFileName(Path.GetDirectoryName(badgePath)));
command2.Parameters.AddWithValue("Badge", Path.GetFileName(badgePath));
command2.ExecuteNonQuery();
Reader.Close();
}
m_dbConnection.Close();
}