Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public object Get(GetTimers request)
        {
            var result = _liveTvManager.GetTimers(new TimerQuery
            {
                ChannelId     = request.ChannelId,
                SeriesTimerId = request.SeriesTimerId
            }, CancellationToken.None).Result;

            return(ToOptimizedSerializedResultUsingCache(result));
        }
Esempio n. 3
0
        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));
        }