private async Task <bool> IsIdle() { if (_iTaskManager.ScheduledTasks.Any(i => i.State != TaskState.Idle)) { return(false); } if (_liveTvManager.Services.Count == 1) { try { var timers = await _liveTvManager.GetTimers(new TimerQuery(), CancellationToken.None).ConfigureAwait(false); if (timers.Items.Any(i => i.Status == RecordingStatus.InProgress)) { return(false); } } catch (Exception ex) { _logger.LogError(ex, "Error getting timers"); } } var now = DateTime.UtcNow; return(!_sessionManager.Sessions.Any(i => (now - i.LastActivityDate).TotalMinutes < 30)); }
public object Get(GetTimers request) { var result = _liveTvManager.GetTimers(new TimerQuery { ChannelId = request.ChannelId, SeriesTimerId = request.SeriesTimerId }, CancellationToken.None).Result; return(ToOptimizedSerializedResultUsingCache(result)); }
public async Task <object> Get(GetTimers request) { var result = await _liveTvManager.GetTimers(new TimerQuery { ChannelId = request.ChannelId, SeriesTimerId = request.SeriesTimerId }, CancellationToken.None).ConfigureAwait(false); return(ToOptimizedSerializedResultUsingCache(result)); }