public bool CanQueueMedia(PlayOnVideo media, out string message) { var retValue = false; if (_queueList.MediaInList(media)) { message = "Already recorded or skipped."; } else if (QueueCountLimit > 0 && QueueCountLimit <= _queuedCount) { message = "Queue limit reached."; } else if (QueueDurationLimit.Ticks > 0 && QueueDurationLimit <= _queuedDuration.Add(RunTimeToTimeSpan(media.RunTime))) { message = "Queue duration limit reached."; } else { message = ""; retValue = true; } return(retValue); }