Exemplo n.º 1
0
        public void Populate(JMMServerBinary.Contract_AniDB_AnimeCrossRefs details)
        {
            AnimeID = details.AnimeID;

            AniDB_AnimeVM anime = null;

            if (MainListHelperVM.Instance.AllAnimeDictionary.ContainsKey(AnimeID))
            {
                anime = MainListHelperVM.Instance.AllAnimeDictionary[AnimeID];
            }

            CrossRef_AniDB_TvDBV2 = new List <CrossRef_AniDB_TvDBVMV2>();
            TvDBSeriesV2          = new List <TvDB_SeriesVM>();
            TvDBEpisodes          = new List <TvDB_EpisodeVM>();
            TvDBImageFanarts      = new List <TvDB_ImageFanartVM>();
            TvDBImagePosters      = new List <TvDB_ImagePosterVM>();
            TvDBImageWideBanners  = new List <TvDB_ImageWideBannerVM>();

            CrossRef_AniDB_MovieDB = null;
            MovieDB_Movie          = null;
            MovieDBPosters         = new List <MovieDB_PosterVM>();
            MovieDBFanarts         = new List <MovieDB_FanartVM>();

            CrossRef_AniDB_Trakt = null;
            TraktShow            = null;
            TraktImageFanart     = null;
            TraktImagePoster     = null;

            CrossRef_AniDB_MAL = null;

            AllPosters = new List <PosterContainer>();
            AllFanarts = new List <FanartContainer>();

            // MAL
            if (details.CrossRef_AniDB_MAL != null)
            {
                CrossRef_AniDB_MAL = new List <CrossRef_AniDB_MALVM>();
                foreach (JMMServerBinary.Contract_CrossRef_AniDB_MAL contract in details.CrossRef_AniDB_MAL)
                {
                    CrossRef_AniDB_MAL.Add(new CrossRef_AniDB_MALVM(contract));
                }
            }

            if (CrossRef_AniDB_MAL == null || CrossRef_AniDB_MAL.Count == 0)
            {
                MALCrossRefExists  = false;
                MALCrossRefMissing = true;
            }
            else
            {
                MALCrossRefExists  = true;
                MALCrossRefMissing = false;
            }

            // Trakt
            if (details.CrossRef_AniDB_Trakt != null)
            {
                CrossRef_AniDB_Trakt = new CrossRef_AniDB_TraktVM(details.CrossRef_AniDB_Trakt);
            }

            if (details.TraktShow != null)
            {
                TraktShow = new Trakt_ShowVM(details.TraktShow);
            }

            if (details.TraktImageFanart != null)
            {
                TraktImageFanart = new Trakt_ImageFanartVM(details.TraktImageFanart);

                bool isDefault = false;
                if (anime != null && anime.DefaultFanart != null && anime.DefaultFanart.ImageParentType == (int)ImageEntityType.Trakt_Fanart &&
                    anime.DefaultFanart.ImageParentID == TraktImageFanart.Trakt_ImageFanartID)
                {
                    isDefault = true;
                }

                TraktImageFanart.IsImageDefault    = isDefault;
                TraktImageFanart.IsImageNotDefault = !isDefault;

                AllFanarts.Add(new FanartContainer(ImageEntityType.Trakt_Fanart, TraktImageFanart));
            }

            if (details.TraktImagePoster != null)
            {
                TraktImagePoster = new Trakt_ImagePosterVM(details.TraktImagePoster);

                bool isDefault = false;
                if (anime != null && anime.DefaultPoster != null && anime.DefaultPoster.ImageParentType == (int)ImageEntityType.Trakt_Poster &&
                    anime.DefaultPoster.ImageParentID == TraktImagePoster.Trakt_ImagePosterID)
                {
                    isDefault = true;
                }

                TraktImagePoster.IsImageDefault    = isDefault;
                TraktImagePoster.IsImageNotDefault = !isDefault;

                AllPosters.Add(new PosterContainer(ImageEntityType.Trakt_Poster, TraktImagePoster));
            }

            if (CrossRef_AniDB_Trakt == null || TraktShow == null)
            {
                TraktCrossRefExists  = false;
                TraktCrossRefMissing = true;
            }
            else
            {
                TraktCrossRefExists  = true;
                TraktCrossRefMissing = false;
            }

            // TvDB
            if (details.CrossRef_AniDB_TvDB != null)
            {
                foreach (JMMServerBinary.Contract_CrossRef_AniDB_TvDBV2 contract in details.CrossRef_AniDB_TvDB)
                {
                    CrossRef_AniDB_TvDBV2.Add(new CrossRef_AniDB_TvDBVMV2(contract));
                }
            }

            if (details.TvDBSeries != null)
            {
                foreach (JMMServerBinary.Contract_TvDB_Series contract in details.TvDBSeries)
                {
                    TvDBSeriesV2.Add(new TvDB_SeriesVM(contract));
                }
            }

            foreach (JMMServerBinary.Contract_TvDB_Episode contract in details.TvDBEpisodes)
            {
                TvDBEpisodes.Add(new TvDB_EpisodeVM(contract));
            }

            foreach (JMMServerBinary.Contract_TvDB_ImageFanart contract in details.TvDBImageFanarts)
            {
                bool isDefault = false;
                if (anime != null && anime.DefaultFanart != null && anime.DefaultFanart.ImageParentType == (int)ImageEntityType.TvDB_FanArt &&
                    anime.DefaultFanart.ImageParentID == contract.TvDB_ImageFanartID)
                {
                    isDefault = true;
                }

                TvDB_ImageFanartVM tvFanart = new TvDB_ImageFanartVM(contract);
                tvFanart.IsImageDefault    = isDefault;
                tvFanart.IsImageNotDefault = !isDefault;
                TvDBImageFanarts.Add(tvFanart);

                AllFanarts.Add(new FanartContainer(ImageEntityType.TvDB_FanArt, tvFanart));
            }

            foreach (JMMServerBinary.Contract_TvDB_ImagePoster contract in details.TvDBImagePosters)
            {
                bool isDefault = false;
                if (anime != null && anime.DefaultPoster != null && anime.DefaultPoster.ImageParentType == (int)ImageEntityType.TvDB_Cover &&
                    anime.DefaultPoster.ImageParentID == contract.TvDB_ImagePosterID)
                {
                    isDefault = true;
                }

                TvDB_ImagePosterVM tvPoster = new TvDB_ImagePosterVM(contract);
                tvPoster.IsImageDefault    = isDefault;
                tvPoster.IsImageNotDefault = !isDefault;
                TvDBImagePosters.Add(tvPoster);
                AllPosters.Add(new PosterContainer(ImageEntityType.TvDB_Cover, tvPoster));
            }

            foreach (JMMServerBinary.Contract_TvDB_ImageWideBanner contract in details.TvDBImageWideBanners)
            {
                bool isDefault = false;
                if (anime != null && anime.DefaultWideBanner != null && anime.DefaultWideBanner.ImageParentType == (int)ImageEntityType.TvDB_Banner &&
                    anime.DefaultWideBanner.ImageParentID == contract.TvDB_ImageWideBannerID)
                {
                    isDefault = true;
                }

                TvDB_ImageWideBannerVM tvBanner = new TvDB_ImageWideBannerVM(contract);
                tvBanner.IsImageDefault    = isDefault;
                tvBanner.IsImageNotDefault = !isDefault;
                TvDBImageWideBanners.Add(tvBanner);
            }

            if (CrossRef_AniDB_TvDBV2.Count == 0 || TvDBSeriesV2.Count == 0)
            {
                TvDBCrossRefExists  = false;
                TvDBCrossRefMissing = true;
            }
            else
            {
                TvDBCrossRefExists  = true;
                TvDBCrossRefMissing = false;
            }

            // MovieDB
            if (details.CrossRef_AniDB_MovieDB != null)
            {
                CrossRef_AniDB_MovieDB = new CrossRef_AniDB_OtherVM(details.CrossRef_AniDB_MovieDB);
            }

            if (details.MovieDBMovie != null)
            {
                MovieDB_Movie = new MovieDB_MovieVM(details.MovieDBMovie);
            }

            foreach (JMMServerBinary.Contract_MovieDB_Fanart contract in details.MovieDBFanarts)
            {
                bool isDefault = false;
                if (anime != null && anime.DefaultFanart != null && anime.DefaultFanart.ImageParentType == (int)ImageEntityType.MovieDB_FanArt &&
                    anime.DefaultFanart.ImageParentID == contract.MovieDB_FanartID)
                {
                    isDefault = true;
                }

                MovieDB_FanartVM movieFanart = new MovieDB_FanartVM(contract);
                movieFanart.IsImageDefault    = isDefault;
                movieFanart.IsImageNotDefault = !isDefault;
                MovieDBFanarts.Add(movieFanart);
                AllFanarts.Add(new FanartContainer(ImageEntityType.MovieDB_FanArt, movieFanart));
            }

            foreach (JMMServerBinary.Contract_MovieDB_Poster contract in details.MovieDBPosters)
            {
                bool isDefault = false;
                if (anime != null && anime.DefaultPoster != null && anime.DefaultPoster.ImageParentType == (int)ImageEntityType.MovieDB_Poster &&
                    anime.DefaultPoster.ImageParentID == contract.MovieDB_PosterID)
                {
                    isDefault = true;
                }

                MovieDB_PosterVM moviePoster = new MovieDB_PosterVM(contract);
                moviePoster.IsImageDefault    = isDefault;
                moviePoster.IsImageNotDefault = !isDefault;
                MovieDBPosters.Add(moviePoster);
                AllPosters.Add(new PosterContainer(ImageEntityType.MovieDB_Poster, moviePoster));
            }

            if (CrossRef_AniDB_MovieDB == null || MovieDB_Movie == null)
            {
                MovieDBCrossRefExists  = false;
                MovieDBCrossRefMissing = true;
            }
            else
            {
                MovieDBCrossRefExists  = true;
                MovieDBCrossRefMissing = false;
            }
        }
Exemplo n.º 2
0
		public void Populate(JMMServerBinary.Contract_AniDB_AnimeCrossRefs details)
		{
			AnimeID = details.AnimeID;

			AniDB_AnimeVM anime = null;
			if (MainListHelperVM.Instance.AllAnimeDictionary.ContainsKey(AnimeID))
				anime = MainListHelperVM.Instance.AllAnimeDictionary[AnimeID];

			CrossRef_AniDB_TvDBV2 = new List<CrossRef_AniDB_TvDBVMV2>();
			TvDBSeriesV2 = new List<TvDB_SeriesVM>();
			TvDBEpisodes = new List<TvDB_EpisodeVM>();
			TvDBImageFanarts = new List<TvDB_ImageFanartVM>();
			TvDBImagePosters = new List<TvDB_ImagePosterVM>();
			TvDBImageWideBanners = new List<TvDB_ImageWideBannerVM>();

			CrossRef_AniDB_MovieDB = null;
			MovieDB_Movie = null;
			MovieDBPosters = new List<MovieDB_PosterVM>();
			MovieDBFanarts = new List<MovieDB_FanartVM>();

			CrossRef_AniDB_Trakt = null;
			TraktShow = null;
			TraktImageFanart = null;
			TraktImagePoster = null;

			CrossRef_AniDB_MAL = null;

			AllPosters = new List<PosterContainer>();
			AllFanarts = new List<FanartContainer>();

			// MAL
			if (details.CrossRef_AniDB_MAL != null)
			{
				CrossRef_AniDB_MAL = new List<CrossRef_AniDB_MALVM>();
				foreach ( JMMServerBinary.Contract_CrossRef_AniDB_MAL contract in details.CrossRef_AniDB_MAL)
					CrossRef_AniDB_MAL.Add(new CrossRef_AniDB_MALVM(contract));
			}

			if (CrossRef_AniDB_MAL == null || CrossRef_AniDB_MAL.Count == 0)
			{
				MALCrossRefExists = false;
				MALCrossRefMissing = true;
			}
			else
			{
				MALCrossRefExists = true;
				MALCrossRefMissing = false;
			}

			// Trakt
			if (details.CrossRef_AniDB_Trakt != null)
				CrossRef_AniDB_Trakt = new CrossRef_AniDB_TraktVM(details.CrossRef_AniDB_Trakt);

			if (details.TraktShow != null)
				TraktShow = new Trakt_ShowVM(details.TraktShow);

			if (details.TraktImageFanart != null)
			{
				TraktImageFanart = new Trakt_ImageFanartVM(details.TraktImageFanart);

				bool isDefault = false;
				if (anime != null && anime.DefaultFanart != null && anime.DefaultFanart.ImageParentType == (int)ImageEntityType.Trakt_Fanart
					&& anime.DefaultFanart.ImageParentID == TraktImageFanart.Trakt_ImageFanartID)
				{
					isDefault = true;
				}

				TraktImageFanart.IsImageDefault = isDefault;
				TraktImageFanart.IsImageNotDefault = !isDefault;

				AllFanarts.Add(new FanartContainer(ImageEntityType.Trakt_Fanart, TraktImageFanart));
			}

			if (details.TraktImagePoster != null)
			{
				TraktImagePoster = new Trakt_ImagePosterVM(details.TraktImagePoster);

				bool isDefault = false;
				if (anime != null && anime.DefaultPoster != null && anime.DefaultPoster.ImageParentType == (int)ImageEntityType.Trakt_Poster
					&& anime.DefaultPoster.ImageParentID == TraktImagePoster.Trakt_ImagePosterID)
				{
					isDefault = true;
				}

				TraktImagePoster.IsImageDefault = isDefault;
				TraktImagePoster.IsImageNotDefault = !isDefault;

				AllPosters.Add(new PosterContainer(ImageEntityType.Trakt_Poster, TraktImagePoster));
			}

			if (CrossRef_AniDB_Trakt == null || TraktShow == null)
			{
				TraktCrossRefExists = false;
				TraktCrossRefMissing = true;
			}
			else
			{
				TraktCrossRefExists = true;
				TraktCrossRefMissing = false;
			}

			// TvDB
			if (details.CrossRef_AniDB_TvDB != null)
			{
				foreach (JMMServerBinary.Contract_CrossRef_AniDB_TvDBV2 contract in details.CrossRef_AniDB_TvDB)
				{
					CrossRef_AniDB_TvDBV2.Add(new CrossRef_AniDB_TvDBVMV2(contract));
				}
			}

			if (details.TvDBSeries != null)
			{
				foreach (JMMServerBinary.Contract_TvDB_Series contract in details.TvDBSeries)
				{
					TvDBSeriesV2.Add(new TvDB_SeriesVM(contract));
				}
			}

			foreach (JMMServerBinary.Contract_TvDB_Episode contract in details.TvDBEpisodes)
				TvDBEpisodes.Add(new TvDB_EpisodeVM(contract));

			foreach (JMMServerBinary.Contract_TvDB_ImageFanart contract in details.TvDBImageFanarts)
			{
				bool isDefault = false;
				if (anime != null && anime.DefaultFanart != null && anime.DefaultFanart.ImageParentType == (int)ImageEntityType.TvDB_FanArt
					&& anime.DefaultFanart.ImageParentID == contract.TvDB_ImageFanartID)
				{
					isDefault = true;
				}

				TvDB_ImageFanartVM tvFanart = new TvDB_ImageFanartVM(contract);
				tvFanart.IsImageDefault = isDefault;
				tvFanart.IsImageNotDefault = !isDefault;
				TvDBImageFanarts.Add(tvFanart);

				AllFanarts.Add(new FanartContainer(ImageEntityType.TvDB_FanArt, tvFanart));
			}

			foreach (JMMServerBinary.Contract_TvDB_ImagePoster contract in details.TvDBImagePosters)
			{
				bool isDefault = false;
				if (anime != null && anime.DefaultPoster != null && anime.DefaultPoster.ImageParentType == (int)ImageEntityType.TvDB_Cover
					&& anime.DefaultPoster.ImageParentID == contract.TvDB_ImagePosterID)
				{
					isDefault = true;
				}

				TvDB_ImagePosterVM tvPoster = new TvDB_ImagePosterVM(contract);
				tvPoster.IsImageDefault = isDefault;
				tvPoster.IsImageNotDefault = !isDefault;
				TvDBImagePosters.Add(tvPoster);
				AllPosters.Add(new PosterContainer(ImageEntityType.TvDB_Cover, tvPoster));
			}

			foreach (JMMServerBinary.Contract_TvDB_ImageWideBanner contract in details.TvDBImageWideBanners)
			{
				bool isDefault = false;
				if (anime != null && anime.DefaultWideBanner != null && anime.DefaultWideBanner.ImageParentType == (int)ImageEntityType.TvDB_Banner
					&& anime.DefaultWideBanner.ImageParentID == contract.TvDB_ImageWideBannerID)
				{
					isDefault = true;
				}

				TvDB_ImageWideBannerVM tvBanner = new TvDB_ImageWideBannerVM(contract);
				tvBanner.IsImageDefault = isDefault;
				tvBanner.IsImageNotDefault = !isDefault;
				TvDBImageWideBanners.Add(tvBanner);
			}

			if (CrossRef_AniDB_TvDBV2.Count == 0 || TvDBSeriesV2.Count == 0)
			{
				TvDBCrossRefExists = false;
				TvDBCrossRefMissing = true;
			}
			else
			{
				TvDBCrossRefExists = true;
				TvDBCrossRefMissing = false;
			}

			// MovieDB
			if (details.CrossRef_AniDB_MovieDB != null)
				CrossRef_AniDB_MovieDB = new CrossRef_AniDB_OtherVM(details.CrossRef_AniDB_MovieDB);

			if (details.MovieDBMovie != null)
				MovieDB_Movie = new MovieDB_MovieVM(details.MovieDBMovie);

			foreach (JMMServerBinary.Contract_MovieDB_Fanart contract in details.MovieDBFanarts)
			{
				bool isDefault = false;
				if (anime != null && anime.DefaultFanart != null && anime.DefaultFanart.ImageParentType == (int)ImageEntityType.MovieDB_FanArt
					&& anime.DefaultFanart.ImageParentID == contract.MovieDB_FanartID)
				{
					isDefault = true;
				}

				MovieDB_FanartVM movieFanart = new MovieDB_FanartVM(contract);
				movieFanart.IsImageDefault = isDefault;
				movieFanart.IsImageNotDefault = !isDefault;
				MovieDBFanarts.Add(movieFanart);
				AllFanarts.Add(new FanartContainer(ImageEntityType.MovieDB_FanArt, movieFanart));
			}

			foreach (JMMServerBinary.Contract_MovieDB_Poster contract in details.MovieDBPosters)
			{
				bool isDefault = false;
				if (anime != null && anime.DefaultPoster != null && anime.DefaultPoster.ImageParentType == (int)ImageEntityType.MovieDB_Poster
					&& anime.DefaultPoster.ImageParentID == contract.MovieDB_PosterID)
				{
					isDefault = true;
				}

				MovieDB_PosterVM moviePoster = new MovieDB_PosterVM(contract);
				moviePoster.IsImageDefault = isDefault;
				moviePoster.IsImageNotDefault = !isDefault;
				MovieDBPosters.Add(moviePoster);
				AllPosters.Add(new PosterContainer(ImageEntityType.MovieDB_Poster, moviePoster));
			}

			if (CrossRef_AniDB_MovieDB == null || MovieDB_Movie == null)
			{
				MovieDBCrossRefExists = false;
				MovieDBCrossRefMissing = true;
			}
			else
			{
				MovieDBCrossRefExists = true;
				MovieDBCrossRefMissing = false;
			}

		}