Example #1
0
        private PagingResource <EpisodeResource> GetCutoffUnmetEpisodes(PagingResource <EpisodeResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Episode>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false")
            {
                pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false;
            }
            else
            {
                pagingSpec.FilterExpression = v => v.Monitored == true && v.Series.Monitored == true;
            }

            PagingResource <EpisodeResource> resource = ApplyToPage(_episodeCutoffService.EpisodesWhereCutoffUnmet, pagingSpec);

            resource.Records = resource.Records.LoadSubtype(e => e.SeriesId, _seriesRepository).ToList();

            return(resource);
        }
Example #2
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var pagingSpec    = pagingResource.MapToPagingSpec <HistoryResource, NzbDrone.Core.History.History>("date", SortDirection.Descending);
            var includeArtist = Request.GetBooleanQueryParameter("includeArtist");
            var includeAlbum  = Request.GetBooleanQueryParameter("includeAlbum");
            var includeTrack  = Request.GetBooleanQueryParameter("includeTrack");

            var eventTypeFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "eventType");
            var albumIdFilter   = pagingResource.Filters.FirstOrDefault(f => f.Key == "albumId");

            if (eventTypeFilter != null)
            {
                var filterValue = (HistoryEventType)Convert.ToInt32(eventTypeFilter.Value);
                pagingSpec.FilterExpressions.Add(v => v.EventType == filterValue);
            }

            if (albumIdFilter != null)
            {
                var albumId = Convert.ToInt32(albumIdFilter.Value);
                pagingSpec.FilterExpressions.Add(h => h.AlbumId == albumId);
            }


            return(ApplyToPage(_historyService.Paged, pagingSpec, h => MapToResource(h, includeArtist, includeAlbum, includeTrack)));
        }
Example #3
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var pagingSpec    = pagingResource.MapToPagingSpec <HistoryResource, NzbDrone.Core.History.History>("date", SortDirection.Descending);
            var includeAuthor = Request.GetBooleanQueryParameter("includeAuthor");
            var includeBook   = Request.GetBooleanQueryParameter("includeBook");

            var eventTypeFilter  = pagingResource.Filters.FirstOrDefault(f => f.Key == "eventType");
            var bookIdFilter     = pagingResource.Filters.FirstOrDefault(f => f.Key == "bookId");
            var downloadIdFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "downloadId");

            if (eventTypeFilter != null)
            {
                var filterValue = (HistoryEventType)Convert.ToInt32(eventTypeFilter.Value);
                pagingSpec.FilterExpressions.Add(v => v.EventType == filterValue);
            }

            if (bookIdFilter != null)
            {
                var bookId = Convert.ToInt32(bookIdFilter.Value);
                pagingSpec.FilterExpressions.Add(h => h.BookId == bookId);
            }

            if (downloadIdFilter != null)
            {
                var downloadId = downloadIdFilter.Value;
                pagingSpec.FilterExpressions.Add(h => h.DownloadId == downloadId);
            }

            return(ApplyToPage(_historyService.Paged, pagingSpec, h => MapToResource(h, includeAuthor, includeBook)));
        }
Example #4
0
        private PagingResource<EpisodeResource> GetMissingEpisodes(PagingResource<EpisodeResource> pagingResource)
        {
            var pagingSpec = new PagingSpec<Episode>
            {
                Page = pagingResource.Page,
                PageSize = pagingResource.PageSize,
                SortKey = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false")
            {
                pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false;
            }
            else
            {
                pagingSpec.FilterExpression = v => v.Monitored == true && v.Series.Monitored == true;
            }

            PagingResource<EpisodeResource> resource = ApplyToPage(v => _episodeService.EpisodesWithoutFiles(v), pagingSpec);

            resource.Records = resource.Records.LoadSubtype(e => e.SeriesId, _seriesRepository).ToList();

            return resource;
        }
Example #5
0
        private PagingResource <BookResource> GetCutoffUnmetBooks(PagingResource <BookResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Book>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            var includeAuthor = Request.GetBooleanQueryParameter("includeAuthor");
            var filter        = pagingResource.Filters.FirstOrDefault(f => f.Key == "monitored");

            if (filter != null && filter.Value == "false")
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == false || v.Author.Value.Monitored == false);
            }
            else
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == true && v.Author.Value.Monitored == true);
            }

            var resource = ApplyToPage(_bookCutoffService.BooksWhereCutoffUnmet, pagingSpec, v => MapToResource(v, includeAuthor));

            return(resource);
        }
Example #6
0
        private PagingResource <EpisodeResource> GetMissingEpisodes(PagingResource <EpisodeResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Episode>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            var includeSeries   = Request.GetBooleanQueryParameter("includeSeries");
            var includeImages   = Request.GetBooleanQueryParameter("includeImages");
            var monitoredFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "monitored");

            if (monitoredFilter != null && monitoredFilter.Value == "false")
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == false || v.Series.Monitored == false);
            }
            else
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == true && v.Series.Monitored == true);
            }

            var resource = ApplyToPage(_episodeService.EpisodesWithoutFiles, pagingSpec, v => MapToResource(v, includeSeries, false, includeImages));

            return(resource);
        }
Example #7
0
        private PagingResource<HistoryResource> GetHistory(PagingResource<HistoryResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec<HistoryResource, EpisodeHistory>("date", SortDirection.Descending);
            var includeSeries = Request.GetBooleanQueryParameter("includeSeries");
            var includeEpisode = Request.GetBooleanQueryParameter("includeEpisode");

            var eventTypeFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "eventType");
            var episodeIdFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "episodeId");
            var downloadIdFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "downloadId");

            if (eventTypeFilter != null)
            {
                var filterValue = (EpisodeHistoryEventType)Convert.ToInt32(eventTypeFilter.Value);
                pagingSpec.FilterExpressions.Add(v => v.EventType == filterValue);
            }

            if (episodeIdFilter != null)
            {
                var episodeId = Convert.ToInt32(episodeIdFilter.Value);
                pagingSpec.FilterExpressions.Add(h => h.EpisodeId == episodeId);
            }

            if (downloadIdFilter != null)
            {
                var downloadId = downloadIdFilter.Value;
                pagingSpec.FilterExpressions.Add(h => h.DownloadId == downloadId);
            }

            return ApplyToPage(_historyService.Paged, pagingSpec, h => MapToResource(h, includeSeries, includeEpisode));
        }
Example #8
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var episodeId = Request.Query.EpisodeId;

            var pagingSpec = new PagingSpec <Core.History.History>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            if (pagingResource.FilterKey == "eventType")
            {
                var filterValue = (HistoryEventType)Convert.ToInt32(pagingResource.FilterValue);
                pagingSpec.FilterExpression = v => v.EventType == filterValue;
            }

            if (episodeId.HasValue)
            {
                int i = (int)episodeId;
                pagingSpec.FilterExpression = h => h.EpisodeId == i;
            }

            return(ApplyToPage(_historyService.Paged, pagingSpec));
        }
Example #9
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var episodeId = Request.Query.EpisodeId;

            var pagingSpec = new PagingSpec <Core.History.History>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            //This is a hack to deal with backgrid setting the sortKey to the column name instead of sortValue
            if (pagingSpec.SortKey.Equals("series", StringComparison.InvariantCultureIgnoreCase))
            {
                pagingSpec.SortKey = "series.title";
            }

            if (pagingResource.FilterKey == "eventType")
            {
                var filterValue = (HistoryEventType)Convert.ToInt32(pagingResource.FilterValue);
                pagingSpec.FilterExpression = v => v.EventType == filterValue;
            }

            if (episodeId.HasValue)
            {
                int i = (int)episodeId;
                pagingSpec.FilterExpression = h => h.EpisodeId == i;
            }

            return(ApplyToPage(_historyService.Paged, pagingSpec));
        }
Example #10
0
        private PagingResource <AlbumResource> GetMissingAlbums(PagingResource <AlbumResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Album>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            var includeArtist   = Request.GetBooleanQueryParameter("includeArtist");
            var monitoredFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "monitored");

            if (monitoredFilter != null && monitoredFilter.Value == "false")
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == false || v.Artist.Value.Monitored == false);
            }
            else
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == true && v.Artist.Value.Monitored == true);
            }

            var resource = ApplyToPage(_albumService.AlbumsWithoutFiles, pagingSpec, v => MapToResource(v, includeArtist));

            return(resource);
        }
Example #11
0
        private PagingResource <MovieResource> GetMoviePaged(PagingResource <MovieResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec <MovieResource, Core.Tv.Movie>();

            pagingSpec.FilterExpression = _moviesService.ConstructFilterExpression(pagingResource.FilterKey, pagingResource.FilterValue, pagingResource.FilterType);

            return(ApplyToPage(_moviesService.Paged, pagingSpec, MapToResource));
        }
Example #12
0
        private PagingResource <QueueResource> GetQueue(PagingResource <QueueResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec <QueueResource, NzbDrone.Core.Queue.Queue>("timeleft", SortDirection.Ascending);
            var includeUnknownMovieItems = Request.GetBooleanQueryParameter("includeUnknownMovieItems");
            var includeMovie             = Request.GetBooleanQueryParameter("includeMovie");

            return(ApplyToPage((spec) => GetQueue(spec, includeUnknownMovieItems), pagingSpec, (q) => MapToResource(q, includeMovie)));
        }
Example #13
0
        private PagingResource <MovieResource> GetCutoffUnmetMovies(PagingResource <MovieResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec <MovieResource, Core.Movies.Movie>("title", SortDirection.Ascending);

            pagingSpec.FilterExpression = _movieService.ConstructFilterExpression(pagingResource.FilterKey, pagingResource.FilterValue);

            var resource = ApplyToPage(_movieCutoffService.MoviesWhereCutoffUnmet, pagingSpec, v => MapToResource(v, true));

            return(resource);
        }
Example #14
0
        private PagingResource <MovieResource> GetMissingMovies(PagingResource <MovieResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec <MovieResource, Core.Tv.Movie>("title", SortDirection.Descending);

            pagingSpec.FilterExpression = _movieService.ConstructFilterExpression(pagingResource.FilterKey, pagingResource.FilterValue);

            var resource = ApplyToPage(_movieService.MoviesWithoutFiles, pagingSpec, v => MapToResource(v, true));

            return(resource);
        }
Example #15
0
        private PagingResource <LogResource> GetLogs(PagingResource <LogResource> pagingResource)
        {
            var pageSpec = pagingResource.InjectTo <PagingSpec <Log> >();

            if (pageSpec.SortKey == "time")
            {
                pageSpec.SortKey = "id";
            }

            return(ApplyToPage(_logService.Paged, pageSpec));
        }
Example #16
0
        private PagingResource <BlacklistResource> GetBlacklist(PagingResource <BlacklistResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <NzbDrone.Core.Blacklisting.Blacklist>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            return(ApplyToPage(_blacklistService.Paged, pagingSpec, BlacklistResourceMapper.MapToResource));
        }
Example #17
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Core.History.History>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            return(ApplyToPage(_historyService.Paged, pagingSpec));
        }
Example #18
0
        private PagingResource <LogResource> GetLogs(PagingResource <LogResource> pagingResource)
        {
            var pageSpec = pagingResource.MapToPagingSpec <LogResource, Log>();

            if (pageSpec.SortKey == "time")
            {
                pageSpec.SortKey = "id";
            }

            var levelFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "level");

            if (levelFilter != null)
            {
                switch (levelFilter.Value)
                {
                case "fatal":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal");
                    break;

                case "error":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error");
                    break;

                case "warn":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn");
                    break;

                case "info":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info");
                    break;

                case "debug":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info" || h.Level == "Debug");
                    break;

                case "trace":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info" || h.Level == "Debug" || h.Level == "Trace");
                    break;
                }
            }

            var response = ApplyToPage(_logService.Paged, pageSpec, LogResourceMapper.ToResource);

            if (pageSpec.SortKey == "id")
            {
                response.SortKey = "time";
            }

            return(response);
        }
Example #19
0
        private PagingResource <TResource> ReadPagingResourceFromRequest()
        {
            int pageSize;

            Int32.TryParse(Request.Query.PageSize.ToString(), out pageSize);
            if (pageSize == 0)
            {
                pageSize = 10;
            }

            int page;

            Int32.TryParse(Request.Query.Page.ToString(), out page);
            if (page == 0)
            {
                page = 1;
            }


            var pagingResource = new PagingResource <TResource>
            {
                PageSize = pageSize,
                Page     = page,
            };

            if (Request.Query.SortKey != null)
            {
                pagingResource.SortKey = Request.Query.SortKey.ToString();

                if (Request.Query.SortDir != null)
                {
                    pagingResource.SortDirection = Request.Query.SortDir.ToString()
                                                   .Equals("Asc", StringComparison.InvariantCultureIgnoreCase)
                                                       ? SortDirection.Ascending
                                                       : SortDirection.Descending;
                }
            }

            if (Request.Query.FilterKey != null)
            {
                pagingResource.FilterKey = Request.Query.FilterKey.ToString();

                if (Request.Query.FilterValue != null)
                {
                    pagingResource.FilterValue = Request.Query.FilterValue.ToString();
                }
            }

            return(pagingResource);
        }
Example #20
0
        private PagingResource <EpisodeResource> GetMissingEpisodes(PagingResource <EpisodeResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Episode>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            var resource = ApplyToPage(_episodeService.EpisodesWithoutFiles, pagingSpec);

            resource.Records = resource.Records.LoadSubtype(e => e.SeriesId, _seriesRepository).ToList();

            return(resource);
        }
Example #21
0
        private PagingResource<EpisodeResource> GetCutoffUnmetEpisodes(PagingResource<EpisodeResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec<EpisodeResource, Episode>("airDateUtc", SortDirection.Descending);

            if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false")
            {
                pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false;
            }
            else
            {
                pagingSpec.FilterExpression = v => v.Monitored == true && v.Series.Monitored == true;
            }

            var resource = ApplyToPage(_episodeCutoffService.EpisodesWhereCutoffUnmet, pagingSpec, v => MapToResource(v, true, true));

            return resource;
        }
Example #22
0
        private PagingResource <EpisodeResource> GetCutoffUnmetEpisodes(PagingResource <EpisodeResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec <EpisodeResource, Episode>("airDateUtc", SortDirection.Descending);

            if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false")
            {
                pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false;
            }
            else
            {
                pagingSpec.FilterExpression = v => v.Monitored == true && v.Series.Monitored == true;
            }

            var resource = ApplyToPage(_episodeCutoffService.EpisodesWhereCutoffUnmet, pagingSpec, v => MapToResource(v, true, true));

            return(resource);
        }
Example #23
0
        private PagingResource <BlacklistResource> GetBlacklist(PagingResource <BlacklistResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Core.Blacklisting.Blacklist>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            //This is a hack to deal with backgrid setting the sortKey to the column name instead of sortValue
            if (pagingSpec.SortKey.Equals("series", StringComparison.InvariantCultureIgnoreCase))
            {
                pagingSpec.SortKey = "series.title";
            }

            return(ApplyToPage(_blacklistService.Paged, pagingSpec));
        }
Example #24
0
        private PagingResource <EpisodeResource> GetCutoffUnmetEpisodes(PagingResource <EpisodeResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec <EpisodeResource, Episode>("airDateUtc", SortDirection.Descending);
            var filter     = pagingResource.Filters.FirstOrDefault(f => f.Key == "monitored");

            if (filter != null && filter.Value == "false")
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == false || v.Series.Monitored == false);
            }
            else
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == true && v.Series.Monitored == true);
            }

            var resource = ApplyToPage(_episodeCutoffService.EpisodesWhereCutoffUnmet, pagingSpec, v => MapToResource(v, true, true));

            return(resource);
        }
Example #25
0
        private PagingResource <MovieResource> GetMissingMovies(PagingResource <MovieResource> pagingResource)
        {
            var pagingSpec      = pagingResource.MapToPagingSpec <MovieResource, Movie>("title", SortDirection.Descending);
            var monitoredFilter = pagingResource.Filters.FirstOrDefault(f => f.Key == "monitored");

            if (monitoredFilter != null && monitoredFilter.Value == "false")
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == false);
            }
            else
            {
                pagingSpec.FilterExpressions.Add(v => v.Monitored == true);
            }

            var resource = ApplyToPage(_movieService.MoviesWithoutFiles, pagingSpec, v => MapToResource(v));

            return(resource);
        }
Example #26
0
        private PagingResource <LogResource> GetLogs(PagingResource <LogResource> pagingResource)
        {
            var pageSpec = pagingResource.MapToPagingSpec <LogResource, Log>();

            if (pageSpec.SortKey == "time")
            {
                pageSpec.SortKey = "id";
            }

            var filter = pagingResource.Filters.FirstOrDefault();

            if (filter != null && filter.Key == "level")
            {
                switch (filter.Value)
                {
                case "Fatal":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal");
                    break;

                case "Error":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error");
                    break;

                case "Warn":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn");
                    break;

                case "Info":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info");
                    break;

                case "Debug":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info" || h.Level == "Debug");
                    break;

                case "Trace":
                    pageSpec.FilterExpressions.Add(h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info" || h.Level == "Debug" || h.Level == "Trace");
                    break;
                }
            }

            return(ApplyToPage(_logService.Paged, pageSpec, LogResourceMapper.ToResource));
        }
Example #27
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var episodeId = Request.Query.EpisodeId;

            var pagingSpec = new PagingSpec <Core.History.History>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            if (episodeId.HasValue)
            {
                int i = (int)episodeId;
                pagingSpec.FilterExpression = h => h.EpisodeId == i;
            }

            return(ApplyToPage(_historyService.Paged, pagingSpec));
        }
Example #28
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var movieId = Request.Query.MovieId;

            var pagingSpec = pagingResource.MapToPagingSpec <HistoryResource, Core.History.History>("date", SortDirection.Descending);

            if (pagingResource.FilterKey == "eventType")
            {
                var filterValue = (HistoryEventType)Convert.ToInt32(pagingResource.FilterValue);
                pagingSpec.FilterExpression = v => v.EventType == filterValue;
            }

            if (movieId.HasValue)
            {
                int i = (int)movieId;
                pagingSpec.FilterExpression = h => h.MovieId == i;
            }

            return(ApplyToPage(_historyService.Paged, pagingSpec, MapToResource));
        }
Example #29
0
        private PagingResource <HistoryResource> GetHistory(PagingResource <HistoryResource> pagingResource)
        {
            var episodeId  = Request.Query.EpisodeId;
            var pagingSpec = pagingResource.MapToPagingSpec <HistoryResource, Core.History.History>("date", SortDirection.Descending);
            var filter     = pagingResource.Filters.FirstOrDefault();

            if (filter != null && filter.Key == "eventType")
            {
                var filterValue = (HistoryEventType)Convert.ToInt32(filter.Value);
                pagingSpec.FilterExpressions.Add(v => v.EventType == filterValue);
            }

            if (episodeId.HasValue)
            {
                int i = (int)episodeId;
                pagingSpec.FilterExpressions.Add(h => h.EpisodeId == i);
            }

            return(ApplyToPage(_historyService.Paged, pagingSpec, MapToResource));
        }
Example #30
0
        private PagingResource <LogResource> GetLogs(PagingResource <LogResource> pagingResource)
        {
            var pageSpec = pagingResource.MapToPagingSpec <LogResource, Log>();

            if (pageSpec.SortKey == "time")
            {
                pageSpec.SortKey = "id";
            }

            if (pagingResource.FilterKey == "level")
            {
                switch (pagingResource.FilterValue)
                {
                case "Fatal":
                    pageSpec.FilterExpression = h => h.Level == "Fatal";
                    break;

                case "Error":
                    pageSpec.FilterExpression = h => h.Level == "Fatal" || h.Level == "Error";
                    break;

                case "Warn":
                    pageSpec.FilterExpression = h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn";
                    break;

                case "Info":
                    pageSpec.FilterExpression = h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info";
                    break;

                case "Debug":
                    pageSpec.FilterExpression = h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info" || h.Level == "Debug";
                    break;

                case "Trace":
                    pageSpec.FilterExpression = h => h.Level == "Fatal" || h.Level == "Error" || h.Level == "Warn" || h.Level == "Info" || h.Level == "Debug" || h.Level == "Trace";
                    break;
                }
            }

            return(ApplyToPage(_logService.Paged, pageSpec, LogResourceMapper.ToResource));
        }
Example #31
0
        private PagingResource<EpisodeResource> GetCutoffUnmetEpisodes(PagingResource<EpisodeResource> pagingResource)
        {
            var pagingSpec = new PagingSpec<Episode>
            {
                Page = pagingResource.Page,
                PageSize = pagingResource.PageSize,
                SortKey = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false")
            {
                pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false;
            }
            else
            {
                pagingSpec.FilterExpression = v => v.Monitored == true && v.Series.Monitored == true;
            }

            PagingResource<EpisodeResource> resource = ApplyToPage(_episodeCutoffService.EpisodesWhereCutoffUnmet, pagingSpec);

            return resource;
        }
Example #32
0
        private PagingResource <EpisodeResource> GetMissingEpisodes(PagingResource <EpisodeResource> pagingResource)
        {
            var pagingSpec = new PagingSpec <Episode>
            {
                Page          = pagingResource.Page,
                PageSize      = pagingResource.PageSize,
                SortKey       = pagingResource.SortKey,
                SortDirection = pagingResource.SortDirection
            };

            if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false")
            {
                pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false;
            }
            else
            {
                pagingSpec.FilterExpression = v => v.Monitored == true && v.Series.Monitored == true;
            }

            PagingResource <EpisodeResource> resource = ApplyToPage(v => _episodeService.EpisodesWithoutFiles(v), pagingSpec);

            return(resource);
        }
Example #33
0
        private PagingResource <BlocklistResource> Blocklist(PagingResource <BlocklistResource> pagingResource)
        {
            var pagingSpec = pagingResource.MapToPagingSpec <BlocklistResource, NzbDrone.Core.Blocklisting.Blocklist>("date", SortDirection.Descending);

            return(ApplyToPage(_blocklistService.Paged, pagingSpec, BlocklistResourceMapper.MapToResource));
        }