Esempio n. 1
0
        public static MovieResource ToResource(this Core.Movies.Movie model)
        {
            if (model == null)
            {
                return(null);
            }

            long size                   = model.MovieFile?.Size ?? 0;
            bool downloaded             = model.MovieFile != null;
            MovieFileResource movieFile = model.MovieFile?.ToResource();

            /*if(model.MovieFile != null)
             * {
             *  model.MovieFile.LazyLoad();
             * }
             *
             * if (model.MovieFile != null && model.MovieFile.IsLoaded && model.MovieFile.Value != null)
             * {
             *  size = model.MovieFile.Value.Size;
             *  downloaded = true;
             *  movieFile = model.MovieFile.Value.ToResource();
             * }*/

            //model.AlternativeTitles.LazyLoad();
            return(new MovieResource
            {
                Id = model.Id,
                TmdbId = model.TmdbId,
                Title = model.Title,

                //AlternateTitles
                SortTitle = model.SortTitle,
                InCinemas = model.InCinemas,
                PhysicalRelease = model.PhysicalRelease,
                HasFile = model.HasFile,
                Downloaded = downloaded,

                //TotalEpisodeCount
                //EpisodeCount
                //EpisodeFileCount
                SizeOnDisk = size,
                Status = model.Status,
                Overview = model.Overview,

                //NextAiring
                //PreviousAiring
                Images = model.Images,

                Year = model.Year,
                SecondaryYear = model.SecondaryYear,

                Path = model.Path,
                ProfileId = model.ProfileId,

                Monitored = model.Monitored,
                MinimumAvailability = model.MinimumAvailability,

                IsAvailable = model.IsAvailable(),
                FolderName = model.FolderName(),

                //SizeOnDisk = size,
                Runtime = model.Runtime,
                LastInfoSync = model.LastInfoSync,
                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,
                AlternativeTitles = model.AlternativeTitles.ToResource(),
                Ratings = model.Ratings,
                MovieFile = movieFile,
                YouTubeTrailerId = model.YouTubeTrailerId,
                Studio = model.Studio
            });
        }
Esempio n. 2
0
        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
            });
        }