async void chimneyMpdServer_OnPlChanges(object sender, ResponseEventArgs e)
{
if (e.arguments.Count > 0)
{
int b = -1;
try
{
b = Convert.ToInt32(e.arguments.First<string>());
}
catch
{
b = -1;
}
if (b == -1) chimneyMpdServer.AppendResponse(string.Empty, e.id, e.position);
else
{
var currentPlaylist = await Dbconnection.QueryAsync<CurrentPlaylist>("SELECT * FROM CurrentPlaylist WHERE Version > " + b + " ORDER BY PositionId");
string response = string.Empty;
foreach (CurrentPlaylist cp in currentPlaylist)
{
//var files = await Dbconnection.QueryAsync<File>("SELECT * FROM Files WHERE FileId = " + cp.FileId);
if (cp.IsUri)
{
response += "file: " + cp.Uri + "\n";
response += "Pos: " + cp.PositionId + "\n";
}
else
{
var file = await Dbconnection.FindAsync<File>(o => o.FileId == cp.FileId);
if (file != null)
{
file.Pos = cp.PositionId;
await Dbconnection.UpdateAsync(file);
response += file.ToResponseString();
}
}
}
chimneyMpdServer.AppendResponse(response, e.id, e.position);
}
}
}