private static MovieTranslation MapTranslation(TranslationResource arg) { var newAlternativeTitle = new MovieTranslation { Title = arg.Title, Overview = arg.Overview, CleanTitle = arg.Title.CleanMovieTitle(), Language = IsoLanguages.Find(arg.Language.ToLower())?.Language }; return(newAlternativeTitle); }
private Movie Map(Dictionary <int, Movie> dict, Movie movie, Profile profile, AlternativeTitle altTitle, MovieFile movieFile, MovieTranslation translation = null) { Movie movieEntry; if (!dict.TryGetValue(movie.Id, out movieEntry)) { movieEntry = movie; movieEntry.Profile = profile; movieEntry.MovieFile = movieFile; dict.Add(movieEntry.Id, movieEntry); } if (altTitle != null) { movieEntry.AlternativeTitles.Add(altTitle); } if (translation != null) { movieEntry.Translations.Add(translation); } return(movieEntry); }
public static MovieResource ToResource(this Movie model, int availDelay, MovieTranslation movieTranslation = null, IUpgradableSpecification upgradableSpecification = null) { if (model == null) { return(null); } long size = model.MovieFile?.Size ?? 0; MovieFileResource movieFile = model.MovieFile?.ToResource(model, upgradableSpecification); var translatedTitle = movieTranslation?.Title ?? model.Title; var translatedOverview = movieTranslation?.Overview ?? model.Overview; return(new MovieResource { Id = model.Id, TmdbId = model.TmdbId, Title = translatedTitle, OriginalTitle = model.OriginalTitle, SortTitle = translatedTitle.NormalizeTitle(), InCinemas = model.InCinemas, PhysicalRelease = model.PhysicalRelease, DigitalRelease = model.DigitalRelease, HasFile = model.HasFile, SizeOnDisk = size, Status = model.Status, Overview = translatedOverview, Images = model.Images, Year = model.Year, SecondaryYear = model.SecondaryYear, Path = model.Path, QualityProfileId = model.ProfileId, Monitored = model.Monitored, MinimumAvailability = model.MinimumAvailability, IsAvailable = model.IsAvailable(availDelay), FolderName = model.FolderName(), Runtime = model.Runtime, CleanTitle = model.CleanTitle, ImdbId = model.ImdbId, TitleSlug = model.TitleSlug, RootFolderPath = model.RootFolderPath, Certification = model.Certification, Website = model.Website, Genres = model.Genres, Tags = model.Tags, Added = model.Added, AddOptions = model.AddOptions, AlternateTitles = model.AlternativeTitles.ToResource(), Ratings = model.Ratings, MovieFile = movieFile, YouTubeTrailerId = model.YouTubeTrailerId, Studio = model.Studio, Collection = model.Collection }); }