public PlayTime StartPlayTime(Program program) { var playTime = new PlayTime { Guid = Guid.NewGuid(), Timestamp = DateTime.Now, Program = program.Guid, Duration = TimeSpan.Zero }; PlayTimes.Add(playTime); using ( var command = new SQLiteCommand( "INSERT INTO `PlayTimes` (Timestamp, Duration, Program, Guid) VALUES (@timestamp, @duration, @program, @guid)", _connection)) { command.Parameters.AddWithValue("@timestamp", playTime.Timestamp); command.Parameters.AddWithValue("@duration", XmlConvert.ToString(playTime.Duration)); command.Parameters.AddWithValue("@program", playTime.Program.ToString("D")); command.Parameters.AddWithValue("@guid", playTime.Guid.ToString("D")); command.ExecuteNonQuery(); } return playTime; }
public void PlayTimeFinished(PlayTime playTime, DateTime time) { var duration = (time - playTime.Timestamp); playTime.Duration = duration; using ( var command = new SQLiteCommand( $"UPDATE `PlayTimes` SET Duration=@duration WHERE Guid='{playTime.Guid.ToString("D")}'", _connection)) { command.Parameters.AddWithValue("@duration", XmlConvert.ToString(duration)); command.ExecuteNonQuery(); } }