コード例 #1
0
ファイル: LiveTvService.cs プロジェクト: ilovejs/MediaBrowser
        public object Get(GetRecommendedPrograms request)
        {
            var query = new RecommendedProgramQuery
            {
                UserId   = request.UserId,
                IsAiring = request.IsAiring,
                Limit    = request.Limit,
                HasAired = request.HasAired
            };

            var result = _liveTvManager.GetRecommendedPrograms(query, CancellationToken.None).Result;

            return(ToOptimizedSerializedResultUsingCache(result));
        }
コード例 #2
0
        public async Task <object> Get(GetRecommendedPrograms request)
        {
            var query = new RecommendedProgramQuery
            {
                UserId   = request.UserId,
                IsAiring = request.IsAiring,
                Limit    = request.Limit,
                HasAired = request.HasAired
            };

            var result = await _liveTvManager.GetRecommendedPrograms(query, CancellationToken.None).ConfigureAwait(false);

            return(ToOptimizedSerializedResultUsingCache(result));
        }
コード例 #3
0
ファイル: LiveTvService.cs プロジェクト: webcris77/Emby
        public async Task <object> Get(GetRecommendedPrograms request)
        {
            var query = new RecommendedProgramQuery
            {
                UserId   = request.UserId,
                IsAiring = request.IsAiring,
                Limit    = request.Limit,
                HasAired = request.HasAired,
                IsMovie  = request.IsMovie,
                IsKids   = request.IsKids,
                IsSports = request.IsSports
            };

            var result = await _liveTvManager.GetRecommendedPrograms(query, GetDtoOptions(request), CancellationToken.None).ConfigureAwait(false);

            return(ToOptimizedResult(result));
        }
コード例 #4
0
        private async Task LoadData(bool isRefresh)
        {
            if (!NavigationService.IsNetworkAvailable || (_programmesLoaded && !isRefresh))
            {
                return;
            }

            RecommendedProgramQuery query;

            if (_isWhatsOn)
            {
                query = new RecommendedProgramQuery
                {
                    IsAiring = true,
                    UserId   = AuthenticationService.Current.LoggedInUserId
                };
            }
            else
            {
                query = new RecommendedProgramQuery
                {
                    HasAired = false,
                    UserId   = AuthenticationService.Current.LoggedInUserId
                };
            }

            SetProgressBar(AppResources.SysTrayLoadingProgrammes);

            try
            {
                var items = await ApiClient.GetRecommendedLiveTvProgramsAsync(query);

                if (items != null && !items.Items.IsNullOrEmpty())
                {
                    Programmes        = items.Items.ToList();
                    _programmesLoaded = true;
                }
            }
            catch (HttpException ex)
            {
                Utils.HandleHttpException(ex, "LoadData(" + isRefresh + ")", NavigationService, Log);
            }

            SetProgressBar();
        }
コード例 #5
0
        private async Task GetWhatsOn(bool isRefresh)
        {
            if (_whatsOnLoaded && !isRefresh && !LiveTvHelper.HasExpired(_whatsOnLastRun))
            {
                return;
            }

            try
            {
                SetProgressBar(AppResources.SystemTrayGettingWhatsOn);

                var query = new RecommendedProgramQuery
                {
                    IsAiring = true,
                    Limit    = 7,
                    UserId   = AuthenticationService.Current.LoggedInUserId
                };

                var items = await ApiClient.GetRecommendedLiveTvProgramsAsync(query);

                if (items != null && !items.Items.IsNullOrEmpty())
                {
                    WhatsOn = items.Items.Take(6).ToList();

                    ShowMoreWhatsOn = items.Items.Count() > 6;

                    _whatsOnLoaded  = true;
                    _whatsOnLastRun = DateTime.Now;
                }
            }
            catch (HttpException ex)
            {
                Utils.HandleHttpException("GetUpcoming()", ex, NavigationService, Log);
            }

            SetProgressBar();
        }