예제 #1
0
 private async Task CheckForSubscription(HideResult shouldHide, TvRequests x)
 {
     foreach (var tv in x.ChildRequests)
     {
         await CheckForSubscription(shouldHide, tv);
     }
 }
예제 #2
0
        private async Task <RequestEngineResult> AddRequest(TvRequests model, string requestOnBehalf)
        {
            await TvRepository.Add(model);

            // This is a new request so we should only have 1 child
            return(await AfterRequest(model.ChildRequests.FirstOrDefault(), requestOnBehalf));
        }
예제 #3
0
        public async Task ShouldBe_Requested_WhenExisitngTv()
        {
            var list = new TvRequests
            {
                TvDbId        = 123,
                ChildRequests = new List <ChildRequests>
                {
                    new ChildRequests()
                    {
                        Approved = true
                    }
                }
            };

            TvMock.Setup(x => x.GetRequest(123)).Returns(list);
            var search = new SearchTvShowViewModel
            {
                Id = 123,
            };
            var result = await Rule.Execute(search);

            Assert.True(result.Success);
            Assert.True(search.Approved);
            Assert.True(search.Requested);
        }
예제 #4
0
        public async Task <TvRequests> Add(TvRequests request)
        {
            await Db.TvRequests.AddAsync(request);

            await Db.SaveChangesAsync();

            return(request);
        }
예제 #5
0
        public async Task <TvRequests> UpdateTvRequest(TvRequests request)
        {
            await Audit.Record(AuditType.Updated, AuditArea.TvRequest, $"Updated Request {request.Title}", Username);

            var allRequests = TvRepository.Get();
            var results     = await allRequests.FirstOrDefaultAsync(x => x.Id == request.Id);

            await TvRepository.Update(results);

            return(results);
        }
예제 #6
0
        private static void FilterChildren(TvRequests t, HideResult shouldHide)
        {
            // Filter out children

            for (var j = 0; j < t.ChildRequests.Count; j++)
            {
                var child = t.ChildRequests[j];
                if (child.RequestedUserId != shouldHide.UserId)
                {
                    t.ChildRequests.RemoveAt(j);
                    j--;
                }
            }
        }
예제 #7
0
        public async Task<TvRequests> UpdateTvRequest(TvRequests request)
        {
            await Audit.Record(AuditType.Updated, AuditArea.TvRequest, $"Updated Request {request.Title}", Username);
            var allRequests = TvRepository.Get();
            var results = await allRequests.FirstOrDefaultAsync(x => x.Id == request.Id);

            results.TvDbId = request.TvDbId;
            results.ImdbId = request.ImdbId;
            results.Overview = request.Overview;
            results.PosterPath = PosterPathHelper.FixPosterPath(request.PosterPath);
            results.QualityOverride = request.QualityOverride;
            results.RootFolder = request.RootFolder;
            
            await TvRepository.Update(results);
            return results;
        }
예제 #8
0
        public async Task <TvRequests> UpdateTvRequest(TvRequests request)
        {
            var allRequests = TvRepository.Get();
            var results     = await allRequests.FirstOrDefaultAsync(x => x.Id == request.Id);

            results.TvDbId          = request.TvDbId;
            results.ImdbId          = request.ImdbId;
            results.Overview        = request.Overview;
            results.PosterPath      = PosterPathHelper.FixPosterPath(request.PosterPath);
            results.Background      = PosterPathHelper.FixBackgroundPath(request.Background);
            results.QualityOverride = request.QualityOverride;
            results.RootFolder      = request.RootFolder;

            await TvRepository.Update(results);

            return(results);
        }
예제 #9
0
        public TvShowRequestBuilder CreateNewRequest(TvRequestViewModel tv)
        {
            NewRequest = new TvRequests
            {
                Overview      = ShowInfo.summary.RemoveHtml(),
                PosterPath    = PosterPath,
                Title         = ShowInfo.name,
                ReleaseDate   = FirstAir,
                Status        = ShowInfo.status,
                ImdbId        = ShowInfo.externals?.imdb ?? string.Empty,
                TvDbId        = tv.TvDbId,
                ChildRequests = new List <ChildRequests>(),
                TotalSeasons  = tv.Seasons.Count()
            };
            NewRequest.ChildRequests.Add(ChildRequest);

            return(this);
        }
예제 #10
0
        public TvShowRequestBuilder CreateNewRequest(TvRequestViewModel tv)
        {
            _logger.LogInformation($"Building Request for {ShowInfo.name} with Provider ID {TheMovieDbRecord?.Id ?? 0}");
            NewRequest = new TvRequests
            {
                Overview           = ShowInfo.summary.RemoveHtml(),
                PosterPath         = PosterPath,
                Title              = ShowInfo.name,
                ReleaseDate        = FirstAir,
                ExternalProviderId = TheMovieDbRecord?.Id ?? 0,
                Status             = ShowInfo.status,
                ImdbId             = ShowInfo.externals?.imdb ?? string.Empty,
                TvDbId             = tv.TvDbId,
                ChildRequests      = new List <ChildRequests>(),
                TotalSeasons       = tv.Seasons?.Count ?? 0,
                Background         = BackdropPath
            };
            NewRequest.ChildRequests.Add(ChildRequest);

            return(this);
        }
예제 #11
0
        public TvShowRequestBuilderV2 CreateNewRequest(TvRequestViewModelV2 tv, int rootPathOverride, int qualityOverride, int langProfile)
        {
            int.TryParse(TheMovieDbRecord.ExternalIds?.TvDbId, out var tvdbId);
            NewRequest = new TvRequests
            {
                Overview           = TheMovieDbRecord.overview,
                PosterPath         = PosterPath,
                Title              = TheMovieDbRecord.name,
                ReleaseDate        = FirstAir,
                ExternalProviderId = TheMovieDbRecord.id,
                Status             = TheMovieDbRecord.status,
                ImdbId             = TheMovieDbRecord.ExternalIds?.ImdbId ?? string.Empty,
                TvDbId             = tvdbId,
                ChildRequests      = new List <ChildRequests>(),
                TotalSeasons       = tv.Seasons.Count(),
                Background         = BackdropPath,
                RootFolder         = rootPathOverride,
                QualityOverride    = qualityOverride,
                LanguageProfile    = langProfile
            };
            NewRequest.ChildRequests.Add(ChildRequest);

            return(this);
        }
예제 #12
0
 private static void FilterChildren(TvRequests t, HideResult shouldHide)
 {
     // Filter out children
     FilterChildren(t.ChildRequests, shouldHide);
 }
예제 #13
0
        public async Task Update(TvRequests request)
        {
            Db.Update(request);

            await Db.SaveChangesAsync();
        }
예제 #14
0
 public async Task Delete(TvRequests request)
 {
     Db.TvRequests.Remove(request);
     await Db.SaveChangesAsync();
 }
예제 #15
0
 public async Task <TvRequests> UpdateRequest([FromBody] TvRequests model)
 {
     return(await TvRequestEngine.UpdateTvRequest(model));
 }
예제 #16
0
        public async Task Update(TvRequests request)
        {
            Db.Update(request);

            await InternalSaveChanges();
        }
예제 #17
0
        private async Task <RequestEngineResult> AddExistingRequest(ChildRequests newRequest, TvRequests existingRequest, string requestOnBehalf, int rootFolder, int qualityProfile)
        {
            // Add the child
            existingRequest.ChildRequests.Add(newRequest);
            if (qualityProfile > 0)
            {
                existingRequest.QualityOverride = qualityProfile;
            }
            if (rootFolder > 0)
            {
                existingRequest.RootFolder = rootFolder;
            }

            await TvRepository.Update(existingRequest);

            return(await AfterRequest(newRequest, requestOnBehalf));
        }
예제 #18
0
        private async Task <RequestEngineResult> AddExistingRequest(ChildRequests newRequest, TvRequests existingRequest)
        {
            // Add the child
            existingRequest.ChildRequests.Add(newRequest);

            await TvRepository.Update(existingRequest);

            return(await AfterRequest(newRequest));
        }
예제 #19
0
 public async Task Delete(TvRequests request)
 {
     Db.TvRequests.Remove(request);
     await InternalSaveChanges();
 }