예제 #1
0
        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;
        }
예제 #2
0
 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();
     }
 }