public void DownloadCharacterCreatorImages(AniDB_AnimeVM anime) { if (downloadCharacterCreatorImagesWorker.IsBusy) { return; } downloadCharacterCreatorImagesWorker.RunWorkerAsync(anime); }
void downloadCharacterCreatorImagesWorker_DoWork(object sender, DoWorkEventArgs e) { AniDB_AnimeVM anime = e.Argument as AniDB_AnimeVM; MainWindow.imageHelper.DownloadAniDBCharactersCreatorsSync(anime, false); OnGotCharacterCreatorImagesEvent(new GotCharacterCreatorImagesEventArgs(anime.AnimeID)); }
public void PopulateAnime(JMMServerBinary.Contract_AniDBAnime animeContract) { if (animeContract != null) { AniDB_Anime = new AniDB_AnimeVM(animeContract); } EvaluateProperties(); }
public void DownloadAniDBCharactersCreatorsSync(AniDB_AnimeVM anime, bool forceDownload) { try { foreach (AniDB_CharacterVM chr in anime.Characters) { if (!string.IsNullOrEmpty(chr.PicName)) { string url = string.Format(Constants.URLS.AniDB_Images, chr.PicName); string filename = chr.PosterPath; ImageDownloadRequest req = new ImageDownloadRequest(ImageEntityType.AniDB_Character, chr, forceDownload); // check if this file has already been downloaded and exists if (!req.ForceDownload) { // check to make sure the file actually exists if (!File.Exists(chr.PosterPath)) ProcessImageDownloadRequest(req); } else ProcessImageDownloadRequest(req); } if (chr.Creator == null) continue; if (!string.IsNullOrEmpty(chr.Creator.PicName)) { string url = string.Format(Constants.URLS.AniDB_Images, chr.Creator.PicName); string filename = chr.Creator.PosterPath; ImageDownloadRequest req = new ImageDownloadRequest(ImageEntityType.AniDB_Creator, chr.Creator, forceDownload); // check if this file has already been downloaded and exists if (!req.ForceDownload) { // check to make sure the file actually exists if (!File.Exists(chr.Creator.PosterPath)) ProcessImageDownloadRequest(req); } else ProcessImageDownloadRequest(req); } } } catch (Exception ex) { BaseConfig.MyAnimeLog.Write(ex.ToString()); } }
public void Populate(JMMServerBinary.Contract_BookmarkedAnime contract) { this.BookmarkedAnimeID = contract.BookmarkedAnimeID; this.AnimeID = contract.AnimeID; this.Priority = contract.Priority; this.Notes = contract.Notes; this.Downloading = contract.Downloading; if (contract.Anime != null) { AniDB_Anime = new AniDB_AnimeVM(contract.Anime); } }
public static void SetDefaultPoster(bool isDefault, PosterContainer poster, int animeID) { if (!JMMServerVM.Instance.ServerOnline) { return; } try { switch (poster.ImageType) { case ImageEntityType.TvDB_Cover: TvDB_ImagePosterVM tvPoster = poster.PosterObject as TvDB_ImagePosterVM; JMMServerVM.Instance.clientBinaryHTTP.SetDefaultImage(isDefault, animeID, tvPoster.TvDB_ImagePosterID, (int)ImageEntityType.TvDB_Cover, (int)ImageSizeType.Poster); tvPoster.IsImageDefault = isDefault; break; case ImageEntityType.Trakt_Poster: Trakt_ImagePosterVM traktPoster = poster.PosterObject as Trakt_ImagePosterVM; JMMServerVM.Instance.clientBinaryHTTP.SetDefaultImage(isDefault, animeID, traktPoster.Trakt_ImagePosterID, (int)ImageEntityType.Trakt_Poster, (int)ImageSizeType.Poster); traktPoster.IsImageDefault = isDefault; break; case ImageEntityType.AniDB_Cover: AniDB_AnimeVM anime = poster.PosterObject as AniDB_AnimeVM; JMMServerVM.Instance.clientBinaryHTTP.SetDefaultImage(isDefault, animeID, anime.AnimeID, (int)ImageEntityType.AniDB_Cover, (int)ImageSizeType.Poster); anime.IsImageDefault = isDefault; break; case ImageEntityType.MovieDB_Poster: MovieDB_PosterVM moviePoster = poster.PosterObject as MovieDB_PosterVM; JMMServerVM.Instance.clientBinaryHTTP.SetDefaultImage(isDefault, animeID, moviePoster.MovieDB_PosterID, (int)ImageEntityType.MovieDB_Poster, (int)ImageSizeType.Poster); moviePoster.IsImageDefault = isDefault; break; } poster.IsImageDefault = isDefault; } catch (Exception ex) { BaseConfig.MyAnimeLog.Write("SetDefaultPoster: " + ex.Message); } }
public static void EnableDisablePoster(bool enabled, PosterContainer poster, int animeID) { try { if (!enabled && poster.IsImageDefault) { SetDefaultPoster(false, poster, animeID); } switch (poster.ImageType) { case ImageEntityType.TvDB_Cover: TvDB_ImagePosterVM tvPoster = poster.PosterObject as TvDB_ImagePosterVM; JMMServerVM.Instance.clientBinaryHTTP.EnableDisableImage(enabled, tvPoster.TvDB_ImagePosterID, (int)ImageEntityType.TvDB_Cover); tvPoster.Enabled = enabled ? 1 : 0; break; case ImageEntityType.Trakt_Poster: Trakt_ImagePosterVM traktPoster = poster.PosterObject as Trakt_ImagePosterVM; JMMServerVM.Instance.clientBinaryHTTP.EnableDisableImage(enabled, traktPoster.Trakt_ImagePosterID, (int)ImageEntityType.Trakt_Poster); traktPoster.Enabled = enabled ? 1 : 0; break; case ImageEntityType.AniDB_Cover: AniDB_AnimeVM anime = poster.PosterObject as AniDB_AnimeVM; JMMServerVM.Instance.clientBinaryHTTP.EnableDisableImage(enabled, anime.AnimeID, (int)ImageEntityType.AniDB_Cover); anime.ImageEnabled = enabled ? 1 : 0; break; case ImageEntityType.MovieDB_Poster: MovieDB_PosterVM moviePoster = poster.PosterObject as MovieDB_PosterVM; JMMServerVM.Instance.clientBinaryHTTP.EnableDisableImage(enabled, moviePoster.MovieDB_PosterID, (int)ImageEntityType.MovieDB_Poster); moviePoster.Enabled = enabled ? 1 : 0; break; } poster.IsImageEnabled = enabled; } catch (Exception ex) { BaseConfig.MyAnimeLog.Write("SetDefaultPoster: " + ex.Message); } }
public PosterContainer(ImageEntityType imageType, object poster) { ImageType = imageType; PosterObject = poster; switch (ImageType) { case ImageEntityType.AniDB_Cover: AniDB_AnimeVM anime = PosterObject as AniDB_AnimeVM; IsImageEnabled = anime.ImageEnabled == 1; IsImageDefault = anime.IsImageDefault; PosterSource = "AniDB"; break; case ImageEntityType.TvDB_Cover: TvDB_ImagePosterVM tvPoster = PosterObject as TvDB_ImagePosterVM; IsImageEnabled = tvPoster.Enabled == 1; IsImageDefault = tvPoster.IsImageDefault; PosterSource = "TvDB"; break; case ImageEntityType.MovieDB_Poster: MovieDB_PosterVM moviePoster = PosterObject as MovieDB_PosterVM; IsImageEnabled = moviePoster.Enabled == 1; IsImageDefault = moviePoster.IsImageDefault; PosterSource = "MovieDB"; break; case ImageEntityType.Trakt_Poster: Trakt_ImagePosterVM traktPoster = PosterObject as Trakt_ImagePosterVM; IsImageEnabled = traktPoster.Enabled == 1; IsImageDefault = traktPoster.IsImageDefault; PosterSource = "Trakt"; break; } }
private void LoadData() { relations.Clear(); mainAnime = null; serMain = null; serMain = JMMServerHelper.GetSeries(MainWindow.GlobalSeriesID); if (serMain != null) mainAnime = serMain.AniDB_Anime; if (mainAnime == null) return; try { relations = mainAnime.RelatedAnimeLinks; } catch (Exception ex) { BaseConfig.MyAnimeLog.Write(ex.ToString()); } }
public void Populate(JMMServerBinary.Contract_AnimeSeries contract) { AniDB_Anime = new AniDB_AnimeVM(contract.AniDBAnime); if (contract.CrossRefAniDBTvDBV2 != null) { foreach (JMMServerBinary.Contract_CrossRef_AniDB_TvDBV2 contractTV in contract.CrossRefAniDBTvDBV2) CrossRef_AniDB_TvDBV2.Add(new CrossRef_AniDB_TvDBVMV2(contractTV)); } if (contract.TvDB_Series != null) { foreach (JMMServerBinary.Contract_TvDB_Series contractSer in contract.TvDB_Series) TvDBSeriesV2.Add(new TvDB_SeriesVM(contractSer)); } if (contract.CrossRefAniDBMovieDB != null) CrossRef_AniDB_MovieDB = new CrossRef_AniDB_OtherVM(contract.CrossRefAniDBMovieDB); else CrossRef_AniDB_MovieDB = null; if (contract.CrossRefAniDBMAL != null) { CrossRef_AniDB_MAL = new List<CrossRef_AniDB_MALVM>(); foreach (JMMServerBinary.Contract_CrossRef_AniDB_MAL contractTemp in contract.CrossRefAniDBMAL) CrossRef_AniDB_MAL.Add(new CrossRef_AniDB_MALVM(contractTemp)); } else CrossRef_AniDB_MAL = null; // read only members this.AniDB_ID = contract.AniDB_ID; this.AnimeGroupID = contract.AnimeGroupID; this.AnimeSeriesID = contract.AnimeSeriesID; this.DateTimeUpdated = contract.DateTimeUpdated; this.DateTimeCreated = contract.DateTimeCreated; this.DefaultAudioLanguage = contract.DefaultAudioLanguage; this.DefaultSubtitleLanguage = contract.DefaultSubtitleLanguage; this.SeriesNameOverride = contract.SeriesNameOverride; this.LatestLocalEpisodeNumber = contract.LatestLocalEpisodeNumber; this.PlayedCount = contract.PlayedCount; this.StoppedCount = contract.StoppedCount; this.UnwatchedEpisodeCount = contract.UnwatchedEpisodeCount; this.WatchedCount = contract.WatchedCount; this.WatchedDate = contract.WatchedDate; this.EpisodeAddedDate = contract.EpisodeAddedDate; this.WatchedEpisodeCount = contract.WatchedEpisodeCount; this.MissingEpisodeCount = contract.MissingEpisodeCount; this.MissingEpisodeCountGroups = contract.MissingEpisodeCountGroups; HasMissingEpisodesAny = (MissingEpisodeCount > 0 || MissingEpisodeCountGroups > 0); HasMissingEpisodesAllDifferentToGroups = (MissingEpisodeCount > 0 && MissingEpisodeCount != MissingEpisodeCountGroups); HasMissingEpisodesGroups = MissingEpisodeCountGroups > 0; PosterPath = AniDB_Anime.DefaultPosterPath; }
public static void SearchAnime(AniDB_AnimeVM anime) { MainWindow.currentDownloadSearch = new DownloadSearchCriteria(DownloadSearchType.Series, anime); GUIWindowManager.ActivateWindow(Constants.WindowIDs.DOWNLOADS); return; }
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; } }
private void LoadInfo() { if (MainWindow.GlobalSeriesID > 0) { serMain = JMMServerHelper.GetSeries(MainWindow.GlobalSeriesID); if (serMain != null) MainAnime = serMain.AniDB_Anime; } }
private void ShowCharacters() { GUIControl.ClearControl(this.GetID, m_Facade.GetID); if (dummyMainCharExists != null) dummyMainCharExists.Visible = false; if (dummyMainActorExists != null) dummyMainActorExists.Visible = false; if (dummySeriesExists != null) dummySeriesExists.Visible = false; clearGUIProperty("Title"); clearGUIProperty("Character.Name"); clearGUIProperty("Character.KanjiName"); clearGUIProperty("Actor.Name"); clearGUIProperty("Actor.KanjiName"); clearGUIProperty("Character.CharacterCount"); BaseConfig.MyAnimeLog.Write("CharWindow.GlobalSeriesID = {0}", MainWindow.GlobalSeriesID.ToString()); charList.Clear(); mainAnime = null; serMain = null; serMain = JMMServerHelper.GetSeries(MainWindow.GlobalSeriesID); if (serMain != null) mainAnime = serMain.AniDB_Anime; else return; if (mainAnime == null) return; setGUIProperty("Character.Main.Title", mainAnime.FormattedTitle); charList = mainAnime.Characters; if (dummyCharactersExist != null) { if (charList.Count > 0) dummyCharactersExist.Visible = true; else dummyCharactersExist.Visible = false; } setGUIProperty("Character.CharacterCount", charList.Count.ToString()); setGUIProperty("Title", serMain.SeriesName); string imagePathNoPicture = GUIGraphicsContext.Skin + @"\Media\MyAnime3\anime3_blankchar.png"; foreach (AniDB_CharacterVM aniChar in charList) { string imagePath = imagePathNoPicture; if (!string.IsNullOrEmpty(aniChar.PosterPath) && File.Exists(aniChar.PosterPath)) imagePath = aniChar.PosterPath; GUIListItem item = new GUIListItem(""); item.IconImage = item.IconImageBig = imagePath; item.TVTag = aniChar; item.OnItemSelected += new GUIListItem.ItemSelectedHandler(onFacadeItemSelected); m_Facade.Add(item); } if (m_Facade.Count > 0) { m_Facade.SelectedListItemIndex = 0; AniDB_CharacterVM aniChar = m_Facade.SelectedListItem.TVTag as AniDB_CharacterVM; if (aniChar != null) { SetCharacterProperties(aniChar); } } }
public static string GetWideBannerAsFileName(AniDB_AnimeVM anime) { // check for user options List<string> banners = new List<string>(); foreach (TvDB_ImageWideBannerVM wdban in anime.AniDB_AnimeCrossRefs.TvDBImageWideBanners) { if (wdban.IsImageDefault && File.Exists(wdban.FullImagePath)) return wdban.FullImagePath; if (File.Exists(wdban.FullImagePath)) banners.Add(wdban.FullImagePath); } if (banners.Count == 0) return ""; return banners[bannerRandom.Next(0, banners.Count - 1)]; }
public void DownloadAniDBCover(AniDB_AnimeVM anime, bool forceDownload) { if (string.IsNullOrEmpty(anime.Picname)) return; try { string url = string.Format(Constants.URLS.AniDB_Images, anime.Picname); string filename = anime.PosterPathNoDefault; ImageDownloadRequest req = new ImageDownloadRequest(ImageEntityType.AniDB_Cover, anime, forceDownload); // check if this file has already been downloaded and exists if (!req.ForceDownload) { // check to make sure the file actually exists if (!File.Exists(anime.PosterPath)) { this.imagesToDownload.Add(req); OnQueueUpdateEvent(new QueueUpdateEventArgs(this.QueueCount)); return; } // the file exists so don't download it again return; } this.imagesToDownload.Add(req); OnQueueUpdateEvent(new QueueUpdateEventArgs(this.QueueCount)); } catch (Exception ex) { BaseConfig.MyAnimeLog.Write(ex.ToString()); } }
public static String GetAnimeImageAsFileName(AniDB_AnimeVM anime, GUIFacadeControl.Layout viewMode) { string imgFileName = ""; switch (viewMode) { case GUIFacadeControl.Layout.LargeIcons: imgFileName = GetWideBannerAsFileName(anime); break; case GUIFacadeControl.Layout.List: case GUIFacadeControl.Layout.AlbumView: case GUIFacadeControl.Layout.Filmstrip: case GUIFacadeControl.Layout.CoverFlow: imgFileName = GetPosterAsFileName(anime); break; } //BaseConfig.MyAnimeLog.Write("GetSeriesBannerAsFileName::viewMode: {0} : {1} : {2}", viewMode, imgFileName, ser); return imgFileName; }
public static string GetPosterAsFileName(AniDB_AnimeVM anime) { // check for user options string fileName = ""; // check if user has specied a poster to always be used fileName = anime.DefaultPosterPath; if (!string.IsNullOrEmpty(fileName) && File.Exists(fileName)) { string msg = string.Format("POSTER MISSING: {0} ({1}) - {2}", anime.FormattedTitle, anime.AnimeID, fileName); return fileName; } // if we can't find the specified poster, we will try and use a random one List<string> allPosters = new List<string>(); foreach (PosterContainer pstr in anime.AniDB_AnimeCrossRefs.AllPosters) { if (!pstr.IsImageEnabled) continue; if (!File.Exists(pstr.FullImagePath)) continue; allPosters.Add(pstr.FullImagePath); } if (allPosters.Count > 0) fileName = allPosters[bannerRandom.Next(0, allPosters.Count - 1)]; return fileName; }
public void Populate(JMMServerBinary.Contract_AnimeSeries contract) { AniDB_Anime = new AniDB_AnimeVM(contract.AniDBAnime); if (contract.CrossRefAniDBTvDBV2 != null) { foreach (JMMServerBinary.Contract_CrossRef_AniDB_TvDBV2 contractTV in contract.CrossRefAniDBTvDBV2) { CrossRef_AniDB_TvDBV2.Add(new CrossRef_AniDB_TvDBVMV2(contractTV)); } } if (contract.TvDB_Series != null) { foreach (JMMServerBinary.Contract_TvDB_Series contractSer in contract.TvDB_Series) { TvDBSeriesV2.Add(new TvDB_SeriesVM(contractSer)); } } if (contract.CrossRefAniDBMovieDB != null) { CrossRef_AniDB_MovieDB = new CrossRef_AniDB_OtherVM(contract.CrossRefAniDBMovieDB); } else { CrossRef_AniDB_MovieDB = null; } if (contract.CrossRefAniDBMAL != null) { CrossRef_AniDB_MAL = new List <CrossRef_AniDB_MALVM>(); foreach (JMMServerBinary.Contract_CrossRef_AniDB_MAL contractTemp in contract.CrossRefAniDBMAL) { CrossRef_AniDB_MAL.Add(new CrossRef_AniDB_MALVM(contractTemp)); } } else { CrossRef_AniDB_MAL = null; } // read only members this.AniDB_ID = contract.AniDB_ID; this.AnimeGroupID = contract.AnimeGroupID; this.AnimeSeriesID = contract.AnimeSeriesID; this.DateTimeUpdated = contract.DateTimeUpdated; this.DateTimeCreated = contract.DateTimeCreated; this.DefaultAudioLanguage = contract.DefaultAudioLanguage; this.DefaultSubtitleLanguage = contract.DefaultSubtitleLanguage; this.SeriesNameOverride = contract.SeriesNameOverride; this.LatestLocalEpisodeNumber = contract.LatestLocalEpisodeNumber; this.PlayedCount = contract.PlayedCount; this.StoppedCount = contract.StoppedCount; this.UnwatchedEpisodeCount = contract.UnwatchedEpisodeCount; this.WatchedCount = contract.WatchedCount; this.WatchedDate = contract.WatchedDate; this.EpisodeAddedDate = contract.EpisodeAddedDate; this.WatchedEpisodeCount = contract.WatchedEpisodeCount; this.MissingEpisodeCount = contract.MissingEpisodeCount; this.MissingEpisodeCountGroups = contract.MissingEpisodeCountGroups; HasMissingEpisodesAny = (MissingEpisodeCount > 0 || MissingEpisodeCountGroups > 0); HasMissingEpisodesAllDifferentToGroups = (MissingEpisodeCount > 0 && MissingEpisodeCount != MissingEpisodeCountGroups); HasMissingEpisodesGroups = MissingEpisodeCountGroups > 0; PosterPath = AniDB_Anime.DefaultPosterPath; }
private List<string> GetFanartFilenames(AniDB_AnimeVM anime) { List<string> allFanart = new List<string>(); // check if user has specied a fanart to always be used if (anime.DefaultFanart != null) { if (!string.IsNullOrEmpty(anime.DefaultFanart.FullImagePath) && File.Exists(anime.DefaultFanart.FullImagePath)) { allFanart.Add(anime.DefaultFanart.FullImagePath); return allFanart; } } //if (anime.AniDB_AnimeCrossRefs != nul foreach (FanartContainer fanart in anime.AniDB_AnimeCrossRefs.AllFanarts) { if (!fanart.IsImageEnabled) continue; if (!File.Exists(fanart.FullImagePath)) continue; allFanart.Add(fanart.FullImagePath); } return allFanart; }
public void Populate(JMMServerBinary.Contract_BookmarkedAnime contract) { this.BookmarkedAnimeID = contract.BookmarkedAnimeID; this.AnimeID = contract.AnimeID; this.Priority = contract.Priority; this.Notes = contract.Notes; this.Downloading = contract.Downloading; if (contract.Anime != null) AniDB_Anime = new AniDB_AnimeVM(contract.Anime); }
public void DownloadCharacterCreatorImages(AniDB_AnimeVM anime) { if (downloadCharacterCreatorImagesWorker.IsBusy) return; downloadCharacterCreatorImagesWorker.RunWorkerAsync(anime); }
private void SetAnime(AniDB_AnimeVM anime) { if (dummyAnimeInCollection != null) dummyAnimeInCollection.Visible = false; if (dummyRelatedAnime != null) dummyRelatedAnime.Visible = false; if (anime == null) return; setGUIProperty("Calendar.Title", anime.FormattedTitle); setGUIProperty("Calendar.Description", anime.ParsedDescription); setGUIProperty("Calendar.AirDate", anime.AirDateAsString); setGUIProperty("Calendar.Genre", anime.CategoriesFormatted); setGUIProperty("Calendar.GenreShort", anime.CategoriesFormattedShort); setGUIProperty("Calendar.Restricted", "-"); }
public void PopulateAnime(JMMServerBinary.Contract_AniDBAnime animeContract) { if (animeContract != null) AniDB_Anime = new AniDB_AnimeVM(animeContract); EvaluateProperties(); }
private void LoadData() { relations.Clear(); if (serMain != null) mainAnime = serMain.AniDB_Anime; if (mainAnime == null) return; try { relations = mainAnime.RelatedAnimeLinks; } catch (Exception ex) { BaseConfig.MyAnimeLog.Write(ex.ToString()); } }