public void Fill(VM_AniDB_Anime anime) { AllFanarts = new List <FanartContainer>(); AllPosters = new List <PosterContainer>(); /* * foreach (VM_Trakt_ImageFanart contract in TraktImageFanarts) * { * contract.IsImageDefault = anime?.DefaultImageFanart != null && anime.DefaultImageFanart.ImageParentType == (int) ImageEntityType.Trakt_Fanart && anime.DefaultImageFanart.ImageParentID == contract.Trakt_ImageFanartID; * AllFanarts.Add(new FanartContainer(ImageEntityType.Trakt_Fanart, contract)); * } * foreach (VM_Trakt_ImagePoster contract in TraktImagePosters) * { * contract.IsImageDefault = anime?.DefaultImagePoster != null && anime.DefaultImagePoster.ImageParentType == (int) ImageEntityType.Trakt_Poster && anime.DefaultImagePoster.ImageParentID == contract.Trakt_ImagePosterID; * AllPosters.Add(new PosterContainer(ImageEntityType.Trakt_Poster, contract)); * }*/ if (TvDBImageFanarts != null) { foreach (VM_TvDB_ImageFanart contract in TvDBImageFanarts.CastList <VM_TvDB_ImageFanart>()) { contract.IsImageDefault = anime?.DefaultImageFanart != null && anime.DefaultImageFanart.ImageParentType == (int)ImageEntityType.TvDB_FanArt && anime.DefaultImageFanart.ImageParentID == contract.TvDB_ImageFanartID; AllFanarts.Add(new FanartContainer(ImageEntityType.TvDB_FanArt, contract)); } } if (TvDBImagePosters != null) { foreach (VM_TvDB_ImagePoster contract in TvDBImagePosters.CastList <VM_TvDB_ImagePoster>()) { contract.IsImageDefault = anime?.DefaultImagePoster != null && anime.DefaultImagePoster.ImageParentType == (int)ImageEntityType.TvDB_Cover && anime.DefaultImagePoster.ImageParentID == contract.TvDB_ImagePosterID; AllPosters.Add(new PosterContainer(ImageEntityType.TvDB_Cover, contract)); } } if (TvDBImageWideBanners != null) { foreach (VM_TvDB_ImageWideBanner contract in TvDBImageWideBanners.CastList <VM_TvDB_ImageWideBanner>()) { contract.IsImageDefault = anime?.DefaultImageWideBanner != null && anime.DefaultImageWideBanner.ImageParentType == (int)ImageEntityType.TvDB_Banner && anime.DefaultImageWideBanner.ImageParentID == contract.TvDB_ImageWideBannerID; } } if (MovieDBFanarts != null) { foreach (VM_MovieDB_Fanart contract in MovieDBFanarts.CastList <VM_MovieDB_Fanart>()) { contract.IsImageDefault = anime?.DefaultImageFanart != null && anime.DefaultImageFanart.ImageParentType == (int)ImageEntityType.MovieDB_FanArt && anime.DefaultImageFanart.ImageParentID == contract.MovieDB_FanartID; AllFanarts.Add(new FanartContainer(ImageEntityType.MovieDB_FanArt, contract)); } } if (MovieDBPosters != null) { foreach (VM_MovieDB_Poster contract in MovieDBPosters.CastList <VM_MovieDB_Poster>()) { contract.IsImageDefault = anime?.DefaultImagePoster != null && anime.DefaultImagePoster.ImageParentType == (int)ImageEntityType.MovieDB_Poster && anime.DefaultImagePoster.ImageParentID == contract.MovieDB_PosterID; AllPosters.Add(new PosterContainer(ImageEntityType.MovieDB_Poster, contract)); } } BaseConfig.MyAnimeLog.Write("Fill: Posters: " + AllPosters.Count + " Fanarts: " + AllFanarts.Count); }
public void Populate(JMMServerBinary.Contract_AniDB_AnimeCrossRefs details) { AnimeID = details.AnimeID; AniDB_AnimeVM anime = JMMServerHelper.GetAnime(AnimeID); if (anime == null) { return; } // 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; 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; AllPosters.Add(new PosterContainer(ImageEntityType.Trakt_Poster, TraktImagePoster)); } if (CrossRef_AniDB_Trakt == null || TraktShow == null) { TraktCrossRefExists = false; } else { TraktCrossRefExists = true; } // TvDB if (details.CrossRef_AniDB_TvDB != null) { CrossRef_AniDB_TvDB = new List <CrossRef_AniDB_TvDBVMV2>(); foreach (JMMServerBinary.Contract_CrossRef_AniDB_TvDBV2 contract in details.CrossRef_AniDB_TvDB) { CrossRef_AniDB_TvDBVMV2 xref = new CrossRef_AniDB_TvDBVMV2(contract); CrossRef_AniDB_TvDB.Add(xref); } } if (details.TvDBSeries != null) { TvDBSeries = new List <TvDB_SeriesVM>(); foreach (JMMServerBinary.Contract_TvDB_Series contract in details.TvDBSeries) { TvDB_SeriesVM tv = new TvDB_SeriesVM(contract); TvDBSeries.Add(tv); } } 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; 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; 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; TvDBImageWideBanners.Add(tvBanner); } if ((CrossRef_AniDB_TvDB == null || CrossRef_AniDB_TvDB.Count == 0) || (TvDBSeries == null || TvDBSeries.Count == 0)) { TvDBCrossRefExists = false; } else { TvDBCrossRefExists = true; } // 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; 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; MovieDBPosters.Add(moviePoster); AllPosters.Add(new PosterContainer(ImageEntityType.MovieDB_Poster, moviePoster)); } if (CrossRef_AniDB_MovieDB == null || MovieDB_Movie == null) { MovieDBCrossRefExists = false; } else { MovieDBCrossRefExists = true; } }