Example #1
0
        /// <summary>
        /// Convert a short movie model to a short movie entity
        /// </summary>
        /// <param name="movie">The movie to convert</param>
        /// <returns>Short movie entity</returns>
        private static Entity.Movie.MovieShort MovieShortFromModelToEntity(MovieShort movie)
        {
            if (movie == null)
            {
                throw new ArgumentNullException(nameof(movie));
            }
            var torrents = movie.Torrents.Select(torrent => new Entity.Movie.Torrent
            {
                DateUploaded    = torrent.DateUploaded,
                Url             = torrent.Url,
                Quality         = torrent.Quality,
                DateUploadedMix = torrent.DateUploadedUnix,
                Framerate       = torrent.Framerate,
                Hash            = torrent.Hash,
                Peers           = torrent.Peers,
                Resolution      = torrent.Resolution,
                Seeds           = torrent.Seeds,
                Size            = torrent.Size,
                SizeBytes       = torrent.SizeBytes
            });

            var genres = movie.Genres.Select(genre => new Genre
            {
                Name = genre
            });

            var movieShort = new Entity.Movie.MovieShort
            {
                MovieId         = movie.Id,
                IsFavorite      = movie.IsFavorite,
                HasBeenSeen     = movie.HasBeenSeen,
                ServerTime      = movie.ServerTime,
                ServerTimezone  = movie.ServerTimezone,
                SmallCoverImage = movie.SmallCoverImage,
                State           = movie.State,
                Year            = movie.Year,
                Language        = movie.Language,
                ImdbCode        = movie.ImdbCode,
                Title           = movie.Title,
                Id               = movie.Id,
                DateUploaded     = movie.DateUploaded,
                Runtime          = movie.Runtime,
                Url              = movie.Url,
                TitleLong        = movie.TitleLong,
                Torrents         = torrents.ToList(),
                MediumCoverImage = movie.MediumCoverImage,
                Genres           = genres.ToList(),
                DateUploadedUnix = movie.DateUploadedUnix,
                CoverImagePath   = movie.CoverImagePath,
                MpaRating        = movie.MpaRating,
                Rating           = movie.RatingValue,
                ExecutionTime    = movie.ExecutionTime,
                ApiVersion       = movie.ApiVersion
            };

            return(movieShort);
        }
        /// <summary>
        /// Convert a short movie entity to a short movie model
        /// </summary>
        /// <param name="movie">The movie to convert</param>
        /// <returns>Short movie model</returns>
        private static MovieShort MovieShortFromEntityToModel(Entity.Movie.MovieShort movie)
        {
            var torrents = movie.Torrents.Select(torrent => new Torrent
            {
                DateUploaded     = torrent.DateUploaded,
                Url              = torrent.Url,
                Quality          = torrent.Quality,
                DateUploadedUnix = torrent.DateUploadedMix,
                Framerate        = torrent.Framerate,
                Hash             = torrent.Hash,
                Peers            = torrent.Peers,
                Resolution       = torrent.Resolution,
                Seeds            = torrent.Seeds,
                Size             = torrent.Size,
                SizeBytes        = torrent.SizeBytes
            });

            return(new MovieShort
            {
                Language = movie.Language,
                ApiVersion = movie.ApiVersion,
                CoverImagePath = movie.CoverImagePath,
                DateUploaded = movie.DateUploaded,
                DateUploadedUnix = movie.DateUploadedUnix,
                ExecutionTime = movie.ExecutionTime,
                Genres = movie.Genres.Select(x => x.Name).ToList(),
                HasBeenSeen = movie.HasBeenSeen,
                Id = movie.MovieId,
                ImdbCode = movie.ImdbCode,
                IsFavorite = movie.IsFavorite,
                Runtime = movie.Runtime,
                RatingValue = movie.Rating,
                MpaRating = movie.MpaRating,
                Title = movie.Title,
                TitleLong = movie.TitleLong,
                Torrents = torrents.ToList(),
                MediumCoverImage = movie.MediumCoverImage,
                Url = movie.Url,
                State = movie.State,
                ServerTimezone = movie.ServerTimezone,
                ServerTime = movie.ServerTime,
                SmallCoverImage = movie.SmallCoverImage,
                Year = movie.Year
            });
        }
        /// <summary>
        /// Convert a short movie model to a short movie entity
        /// </summary>
        /// <param name="movie">The movie to convert</param>
        /// <returns>Short movie entity</returns>
        private static Entity.Movie.MovieShort MovieShortFromModelToEntity(MovieShort movie)
        {
            var torrents = movie.Torrents.Select(torrent => new Entity.Movie.Torrent
            {
                DateUploaded = torrent.DateUploaded,
                Url = torrent.Url,
                Quality = torrent.Quality,
                DateUploadedMix = torrent.DateUploadedUnix,
                Framerate = torrent.Framerate,
                Hash = torrent.Hash,
                Peers = torrent.Peers,
                Resolution = torrent.Resolution,
                Seeds = torrent.Seeds,
                Size = torrent.Size,
                SizeBytes = torrent.SizeBytes
            });

            var genres = movie.Genres.Select(genre => new Genre
            {
                Name = genre
            });

            var movieShort = new Entity.Movie.MovieShort
            {
                MovieId = movie.Id,
                IsFavorite = movie.IsFavorite,
                HasBeenSeen = movie.HasBeenSeen,
                ServerTime = movie.ServerTime,
                ServerTimezone = movie.ServerTimezone,
                SmallCoverImage = movie.SmallCoverImage,
                State = movie.State,
                Year = movie.Year,
                Language = movie.Language,
                ImdbCode = movie.ImdbCode,
                Title = movie.Title,
                Id = movie.Id,
                DateUploaded = movie.DateUploaded,
                Runtime = movie.Runtime,
                Url = movie.Url,
                TitleLong = movie.TitleLong,
                Torrents = torrents.ToList(),
                MediumCoverImage = movie.MediumCoverImage,
                Genres = genres.ToList(),
                DateUploadedUnix = movie.DateUploadedUnix,
                CoverImagePath = movie.CoverImagePath,
                MpaRating = movie.MpaRating,
                Rating = movie.RatingValue,
                ExecutionTime = movie.ExecutionTime,
                ApiVersion = movie.ApiVersion
            };

            return movieShort;
        }