public static EpisodeFileResource ToResource(this EpisodeFile model, Core.Tv.Series series, IUpgradableSpecification upgradableSpecification) { if (model == null) { return(null); } return(new EpisodeFileResource { Id = model.Id, SeriesId = model.SeriesId, SeasonNumber = model.SeasonNumber, RelativePath = model.RelativePath, Path = Path.Combine(series.Path, model.RelativePath), Size = model.Size, DateAdded = model.DateAdded, SceneName = model.SceneName, Quality = model.Quality, Language = model.Language, QualityCutoffNotMet = upgradableSpecification.QualityCutoffNotMet(series.QualityProfile.Value, model.Quality), MediaInfo = model.MediaInfo.ToResource(model.SceneName), OriginalFilePath = model.OriginalFilePath }); }
public static Core.Tv.Series ToModel(this SeriesResource resource, Core.Tv.Series series) { var updatedSeries = resource.ToModel(); series.ApplyChanges(updatedSeries); return(series); }
public static SeriesResource ToResource(this Core.Tv.Series model, bool includeSeasonImages = false) { if (model == null) { return(null); } return(new SeriesResource { Id = model.Id, Title = model.Title, //AlternateTitles SortTitle = model.SortTitle, //TotalEpisodeCount //EpisodeCount //EpisodeFileCount //SizeOnDisk Status = model.Status, Overview = model.Overview, //NextAiring //PreviousAiring Network = model.Network, AirTime = model.AirTime, Images = model.Images, Seasons = model.Seasons.ToResource(includeSeasonImages), Year = model.Year, Path = model.Path, ProfileId = model.QualityProfileId, LanguageProfileId = model.LanguageProfileId, SeasonFolder = model.SeasonFolder, Monitored = model.Monitored, UseSceneNumbering = model.UseSceneNumbering, Runtime = model.Runtime, TvdbId = model.TvdbId, TvRageId = model.TvRageId, TvMazeId = model.TvMazeId, FirstAired = model.FirstAired, LastInfoSync = model.LastInfoSync, SeriesType = model.SeriesType, CleanTitle = model.CleanTitle, ImdbId = model.ImdbId, TitleSlug = model.TitleSlug, RootFolderPath = model.RootFolderPath, Certification = model.Certification, Genres = model.Genres, Tags = model.Tags, Added = model.Added, AddOptions = model.AddOptions, Ratings = model.Ratings }); }
private EpisodeFileResource MapToResource(Core.Tv.Series series, EpisodeFile episodeFile) { var resource = episodeFile.InjectTo <EpisodeFileResource>(); resource.Path = Path.Combine(series.Path, episodeFile.RelativePath); resource.QualityCutoffNotMet = _qualityUpgradableSpecification.CutoffNotMet(series.Profile.Value, episodeFile.Quality); return(resource); }
private SeriesResource GetSeriesResource(Core.Tv.Series series) { if (series == null) { return(null); } var resource = series.InjectTo <SeriesResource>(); MapCoversToLocal(resource); FetchAndLinkSeriesStatistics(resource); return(resource); }
private JsonResponse <NamingSampleResource> GetExamples(NamingConfigResource config) { var nameSpec = config.InjectTo <NamingConfig>(); var series = new Core.Tv.Series { SeriesType = SeriesTypes.Standard, Title = "Series Title" }; var episode1 = new Episode { SeasonNumber = 1, EpisodeNumber = 1, Title = "Episode Title (1)" }; var episode2 = new Episode { SeasonNumber = 1, EpisodeNumber = 2, Title = "Episode Title (2)" }; var episodeFile = new EpisodeFile { Quality = new QualityModel(Quality.HDTV720p), Path = @"C:\Test\Series.Title.S01E01.720p.HDTV.x264-EVOLVE.mkv" }; var sampleResource = new NamingSampleResource(); sampleResource.SingleEpisodeExample = _buildFileNames.BuildFilename(new List <Episode> { episode1 }, series, episodeFile, nameSpec); episodeFile.Path = @"C:\Test\Series.Title.S01E01-E02.720p.HDTV.x264-EVOLVE.mkv"; sampleResource.MultiEpisodeExample = _buildFileNames.BuildFilename(new List <Episode> { episode1, episode2 }, series, episodeFile, nameSpec); return(sampleResource.AsResponse()); }
public static Core.Tv.Series ToModel(this SeriesResource resource, Core.Tv.Series series) { series.TvdbId = resource.TvdbId; series.Seasons = resource.Seasons.ToModel(); series.Path = resource.Path; series.ProfileId = resource.ProfileId; series.SeasonFolder = resource.SeasonFolder; series.Monitored = resource.Monitored; series.SeriesType = resource.SeriesType; series.RootFolderPath = resource.RootFolderPath; series.Tags = resource.Tags; series.AddOptions = resource.AddOptions; return(series); }
public static EpisodeFileResource ToResource(this Core.MediaFiles.EpisodeFile model, Core.Tv.Series series, Core.DecisionEngine.IQualityUpgradableSpecification qualityUpgradableSpecification) { if (model == null) { return(null); } return(new EpisodeFileResource { Id = model.Id, SeriesId = model.SeriesId, SeasonNumber = model.SeasonNumber, RelativePath = model.RelativePath, Path = Path.Combine(series.Path, model.RelativePath), Size = model.Size, DateAdded = model.DateAdded, SceneName = model.SceneName, Quality = model.Quality, QualityCutoffNotMet = qualityUpgradableSpecification.CutoffNotMet(series.Profile.Value, model.Quality), MediaInfo = model.MediaInfo.ToResource(model.SceneName), }); }