public void RefreshMiniCalendar() { try { System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action) delegate() { MiniCalendar.Clear(); }); List <JMMServerBinary.Contract_AniDBAnime> contracts = JMMServerVM.Instance.clientBinaryHTTP.GetMiniCalendar(JMMServerVM.Instance.CurrentUser.JMMUserID.Value, UserSettingsVM.Instance.Dash_MiniCalendarDays); System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action) delegate() { foreach (JMMServerBinary.Contract_AniDBAnime contract in contracts) { AniDB_AnimeVM anime = new AniDB_AnimeVM(contract); if (JMMServerVM.Instance.CurrentUser.EvaluateAnime(anime)) { MiniCalendar.Add(anime); } } ViewEpsWatchNext_Recent.Refresh(); }); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { } }
void btnSwitchTraktSeason_Click(object sender, RoutedEventArgs e) { try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } Window wdw = Window.GetWindow(this); this.Cursor = Cursors.Wait; SelectTraktSeasonForm frm = new SelectTraktSeasonForm(); frm.Owner = wdw; frm.Init(anime.AnimeID, anime.FormattedTitle, AniDB_AnimeCrossRefs.CrossRef_AniDB_Trakt.TraktID, AniDB_AnimeCrossRefs.CrossRef_AniDB_Trakt.TraktSeasonNumber, AniDB_AnimeCrossRefs.TraktShow.Title); bool?result = frm.ShowDialog(); if (result.Value) { // update info RefreshData(); } this.Cursor = Cursors.Arrow; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
private void SearchMovieDB() { try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } Window wdw = Window.GetWindow(this); this.Cursor = Cursors.Wait; SearchMovieDBForm frm = new SearchMovieDBForm(); frm.Owner = wdw; frm.Init(anime.AnimeID, anime.FormattedTitle); bool?result = frm.ShowDialog(); if (result.Value) { // update info RefreshData(); } this.Cursor = Cursors.Arrow; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
private void CommandBinding_ToggleAutoLinkMAL(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } this.Cursor = Cursors.Wait; anime.IsMALLinkDisabled = !anime.IsMALLinkDisabled; anime.UpdateDisableExternalLinksFlag(); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { this.Cursor = Cursors.Arrow; } }
void btnUpdateTraktInfo_Click(object sender, RoutedEventArgs e) { try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } this.Cursor = Cursors.Wait; JMMServerVM.Instance.clientBinaryHTTP.UpdateTraktData(AniDB_AnimeCrossRefs.CrossRef_AniDB_Trakt.TraktID); // find the series for this anime foreach (AnimeSeriesVM ser in MainListHelperVM.Instance.AllSeries) { if (anime.AnimeID == ser.AniDB_ID) { MainListHelperVM.Instance.UpdateHeirarchy(ser); break; } } RefreshData(); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { this.Cursor = Cursors.Arrow; } }
private void CommandBinding_ReportTvDBLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { if (obj.GetType() == typeof(CrossRef_AniDB_TvDBVMV2)) { CrossRef_AniDB_TvDBVMV2 link = obj as CrossRef_AniDB_TvDBVMV2; AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } this.Cursor = Cursors.Wait; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { this.Cursor = Cursors.Arrow; } }
public void UpdateAnime(int animeID) { try { JMMServerBinary.Contract_AniDBAnime animeRaw = JMMServerVM.Instance.clientBinaryHTTP.GetAnime(animeID); if (animeRaw != null) { AniDB_AnimeVM anime = new AniDB_AnimeVM(animeRaw); AllAnimeDictionary[anime.AnimeID] = anime; // update the series AnimeSeriesVM ser = AllSeriesDictionary.Values.FirstOrDefault(a => a.AniDB_ID == anime.AnimeID); if (ser != null) { ser.RefreshBase(); ser.AniDB_Anime.Detail.RefreshBase(); AllSeriesDictionary[ser.AnimeSeriesID.Value] = ser; } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
void btnUpdateMovieDBInfo_Click(object sender, RoutedEventArgs e) { try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } Window wdw = Window.GetWindow(this); this.Cursor = Cursors.Wait; string res = JMMServerVM.Instance.clientBinaryHTTP.UpdateMovieDBData(AniDB_AnimeCrossRefs.MovieDB_Movie.MovieId); if (res.Length > 0) { MessageBox.Show(res, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { // update info RefreshData(); } this.Cursor = Cursors.Arrow; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { this.Cursor = Cursors.Arrow; } }
public static bool EvaluateAnimeTextSearch(AniDB_AnimeVM anime, string filterText, SeriesSearchType searchType) { if (String.IsNullOrEmpty(filterText) || anime == null) { return(true); } // search the romaji name, english names etc from anidb if (anime.AllTitles.SubContains(filterText)) { return(true); } if (searchType == SeriesSearchType.Everything) { // check the tags if (anime.AllTags.Contains(filterText, StringComparer.InvariantCultureIgnoreCase)) { return(true); } } return(false); }
private void RefreshAdminData() { try { if (JMMServerVM.Instance.ShowCommunity) { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } CommunityTVDBLinks.Clear(); CommunityTraktLinks.Clear(); btnTvDBCommLinks1.IsEnabled = false; btnTvDBCommLinks2.IsEnabled = false; CommTvDBButtonText = "Checking Online..."; btnTraktCommLinks1.IsEnabled = false; btnTraktCommLinks2.IsEnabled = false; CommTraktButtonText = "Checking Online..."; if (!communityWorker.IsBusy) { communityWorker.RunWorkerAsync(anime); } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public void Init(AnimeEpisodeVM ep, AniDB_AnimeVM anime) { AnimeID = anime.AnimeID; Anime = anime; AnimeEpisode = ep; List <int> uids = new List <int>(); cboSeries.Items.Clear(); foreach (CrossRef_AniDB_TvDBVMV2 xref in Anime.TvSummary.CrossRefTvDBV2) { if (!uids.Contains(xref.TvDBID)) { cboSeries.Items.Add(xref); } uids.Add(xref.TvDBID); } cboSeries.SelectionChanged += new SelectionChangedEventHandler(cboSeries_SelectionChanged); if (cboSeries.Items.Count > 0) { cboSeries.SelectedIndex = 0; } }
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)]); }
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); }
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()); } }
private void RefreshData() { try { AniDB_AnimeCrossRefs = null; AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } JMMServerBinary.Contract_AniDB_AnimeCrossRefs xrefDetails = JMMServerVM.Instance.clientBinaryHTTP.GetCrossRefDetails(anime.AnimeID); if (xrefDetails == null) { return; } AniDB_AnimeCrossRefs = new AniDB_AnimeCrossRefsVM(); AniDB_AnimeCrossRefs.Populate(xrefDetails); MainListHelperVM.Instance.UpdateAnime(anime.AnimeID); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
private void CommandBinding_DeleteAllFiles(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } Window wdw = Window.GetWindow(this); if (obj.GetType() == typeof(GroupVideoQualityVM)) { GroupVideoQualityVM gvq = (GroupVideoQualityVM)obj; this.Cursor = Cursors.Wait; DeleteFilesForm frm = new DeleteFilesForm(); frm.Owner = wdw; frm.Init(anime.AnimeID, gvq); bool?result = frm.ShowDialog(); if (result.Value) { // refresh RefreshRecords(); } this.Cursor = Cursors.Arrow; } if (obj.GetType() == typeof(GroupFileSummaryVM)) { GroupFileSummaryVM gfs = (GroupFileSummaryVM)obj; this.Cursor = Cursors.Wait; DeleteFilesForm frm = new DeleteFilesForm(); frm.Owner = wdw; frm.Init(anime.AnimeID, gfs); bool?result = frm.ShowDialog(); if (result.Value) { // refresh RefreshRecords(); } this.Cursor = Cursors.Arrow; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public void Init(int animeID, string animeName, string searchCriteria, int?existingTVDBID, AniDB_AnimeVM anime) { Anime = anime; AnimeID = animeID; AnimeName = animeName; ExistingTVDBID = existingTVDBID; txtSearch.Text = searchCriteria; }
public void RefreshData() { try { AniDB_AnimeVM anime = null; AnimeSeriesVM animeSeries = (AnimeSeriesVM)this.DataContext; if (animeSeries == null) { SimilarAnimeLinks.Clear(); return; } SimilarAnimeLinks.Clear(); anime = animeSeries.AniDB_Anime; if (anime == null) { return; } List <JMMServerBinary.Contract_AniDB_Anime_Similar> links = JMMServerVM.Instance.clientBinaryHTTP.GetSimilarAnimeLinks(anime.AnimeID, JMMServerVM.Instance.CurrentUser.JMMUserID.Value); List <AniDB_Anime_SimilarVM> tempList = new List <AniDB_Anime_SimilarVM>(); foreach (JMMServerBinary.Contract_AniDB_Anime_Similar link in links) { AniDB_Anime_SimilarVM sim = new AniDB_Anime_SimilarVM(); sim.Populate(link); tempList.Add(sim); } List <SortPropOrFieldAndDirection> sortCriteria = new List <SortPropOrFieldAndDirection>(); sortCriteria.Add(new SortPropOrFieldAndDirection("ApprovalPercentage", true, SortType.eDoubleOrFloat)); tempList = Sorting.MultiSort <AniDB_Anime_SimilarVM>(tempList, sortCriteria); foreach (AniDB_Anime_SimilarVM sim in tempList) { SimilarAnimeLinks.Add(sim); } if (SimilarAnimeLinks.Count == 0) { DataExists = false; DataMissing = true; } else { DataExists = true; DataMissing = false; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public void RefreshData() { try { AniDB_AnimeVM anime = null; AnimeSeriesVM animeSeries = (AnimeSeriesVM)this.DataContext; if (animeSeries == null) { RelatedAnimeLinks.Clear(); return; } RelatedAnimeLinks.Clear(); anime = animeSeries.AniDB_Anime; if (anime == null) { return; } List <JMMServerBinary.Contract_AniDB_Anime_Relation> links = JMMServerVM.Instance.clientBinaryHTTP.GetRelatedAnimeLinks(anime.AnimeID, JMMServerVM.Instance.CurrentUser.JMMUserID.Value); List <AniDB_Anime_RelationVM> tempList = new List <AniDB_Anime_RelationVM>(); foreach (JMMServerBinary.Contract_AniDB_Anime_Relation link in links) { AniDB_Anime_RelationVM rel = new AniDB_Anime_RelationVM(); rel.Populate(link); tempList.Add(rel); } List <SortPropOrFieldAndDirection> sortCriteria = new List <SortPropOrFieldAndDirection>(); sortCriteria.Add(new SortPropOrFieldAndDirection("SortPriority", false, SortType.eInteger)); tempList = Sorting.MultiSort <AniDB_Anime_RelationVM>(tempList, sortCriteria); foreach (AniDB_Anime_RelationVM rel in tempList) { RelatedAnimeLinks.Add(rel); } if (RelatedAnimeLinks.Count == 0) { DataExists = false; DataMissing = true; } else { DataExists = true; DataMissing = false; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public void PopulateAnime(JMMServerBinary.Contract_AniDBAnime animeContract) { if (animeContract != null) { AniDB_Anime = new AniDB_AnimeVM(animeContract); } EvaluateProperties(); }
private void CommandBinding_DeleteMALLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } if (obj.GetType() == typeof(CrossRef_AniDB_MALVM)) { this.Cursor = Cursors.Wait; CrossRef_AniDB_MALVM malLink = obj as CrossRef_AniDB_MALVM; // prompt to select details Window wdw = Window.GetWindow(this); string msg = string.Format(Properties.Resources.CommunityLinks_DeleteLink); MessageBoxResult result = MessageBox.Show(msg, Properties.Resources.Confirm, MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { this.Cursor = Cursors.Wait; string res = JMMServerVM.Instance.clientBinaryHTTP.RemoveLinkAniDBMAL(anime.AnimeID, malLink.StartEpisodeType, malLink.StartEpisodeNumber); if (res.Length > 0) { MessageBox.Show(res, Properties.Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); } else { // update info RefreshData(); } this.Cursor = Cursors.Arrow; } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { this.Cursor = Cursors.Arrow; } }
private void CommandBinding_DeleteTvDBLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { if (obj.GetType() == typeof(CrossRef_AniDB_TvDBVMV2)) { CrossRef_AniDB_TvDBVMV2 link = obj as CrossRef_AniDB_TvDBVMV2; AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } this.Cursor = Cursors.Wait; Window wdw = Window.GetWindow(this); string msg = string.Format("Are you sure you want to delete this link?"); MessageBoxResult result = MessageBox.Show(msg, "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { this.Cursor = Cursors.Wait; string res = JMMServerVM.Instance.clientBinaryHTTP.RemoveLinkAniDBTvDB(link.AnimeID, link.AniDBStartEpisodeType, link.AniDBStartEpisodeNumber, link.TvDBID, link.TvDBSeasonNumber, link.TvDBStartEpisodeNumber); if (res.Length > 0) { MessageBox.Show(res, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { // update info RefreshData(); } this.Cursor = Cursors.Arrow; } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { this.Cursor = Cursors.Arrow; } }
public bool EvaluateAnime(AniDB_AnimeVM anime) { // make sure the user has not filtered this out if (!string.IsNullOrEmpty(JMMServerVM.Instance.CurrentUser.HideCategories)) { return(EvaluateCategoryString(anime.AllCategories)); } return(true); }
public IgnoreAnimeVM(JMMServerBinary.Contract_IgnoreAnime contract) { this.IgnoreAnimeID = contract.IgnoreAnimeID; this.JMMUserID = contract.JMMUserID; this.AnimeID = contract.AnimeID; this.IgnoreType = contract.IgnoreType; if (contract.Anime != null) Anime = new AniDB_AnimeVM(contract.Anime); }
void lbAnime_SelectionChanged(object sender, SelectionChangedEventArgs e) { AniDB_AnimeVM anime = lbAnime.SelectedItem as AniDB_AnimeVM; if (anime == null) { return; } SetSelectedAnime(anime); }
private void RefreshRecords() { try { IsDataLoading = true; IsDataFinishedLoading = false; VideoQualityRecords.Clear(); GroupSummaryRecords.Clear(); TotalFileCount = 0; double fileSize = 0; AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } if (IsGroupQualityDetails) { List <JMMServerBinary.Contract_GroupVideoQuality> summ = JMMServerVM.Instance.clientBinaryHTTP.GetGroupVideoQualitySummary(anime.AnimeID); foreach (JMMServerBinary.Contract_GroupVideoQuality contract in summ) { GroupVideoQualityVM vidQual = new GroupVideoQualityVM(contract); TotalFileCount += vidQual.FileCountNormal + vidQual.FileCountSpecials; fileSize += vidQual.TotalFileSize; VideoQualityRecords.Add(vidQual); } } if (IsGroupSummary) { List <JMMServerBinary.Contract_GroupFileSummary> summ = JMMServerVM.Instance.clientBinaryHTTP.GetGroupFileSummary(anime.AnimeID); foreach (JMMServerBinary.Contract_GroupFileSummary contract in summ) { GroupFileSummaryVM vidQual = new GroupFileSummaryVM(contract); TotalFileCount += vidQual.FileCountNormal + vidQual.FileCountSpecials; fileSize += vidQual.TotalFileSize; GroupSummaryRecords.Add(vidQual); } } TotalFileSize = Utils.FormatFileSize(fileSize); IsDataLoading = false; IsDataFinishedLoading = true; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
private void LoadInfo() { if (MainWindow.GlobalSeriesID > 0) { serMain = JMMServerHelper.GetSeries(MainWindow.GlobalSeriesID); if (serMain != null) { MainAnime = serMain.AniDB_Anime; } } }
private bool AnimeSearchFilter(object obj) { AniDB_AnimeVM anime = obj as AniDB_AnimeVM; if (anime == null) { return(true); } return(GroupSearchFilterHelper.EvaluateAnimeTextSearch(anime, txtAnimeSearch.Text)); }
public Fanart(object fanartObject) { this.fileName = ""; List <string> allFanarts = new List <string>(); // check for a default fanart if (fanartObject.GetType() == typeof(AnimeGroupVM)) { AnimeGroupVM grp = fanartObject as AnimeGroupVM; if (grp.DefaultAnimeSeriesID.HasValue) { AnimeSeriesVM ser = grp.DefaultSeries; if (ser != null) { AniDB_AnimeVM anime = ser.AniDB_Anime; allFanarts.AddRange(GetFanartFilenames(anime)); } } else { // get all the series for this group foreach (AnimeSeriesVM ser in grp.AllSeries) { AniDB_AnimeVM anime = ser.AniDB_Anime; allFanarts.AddRange(GetFanartFilenames(anime)); } } } else if (fanartObject.GetType() == typeof(AnimeSeriesVM)) { AnimeSeriesVM ser = fanartObject as AnimeSeriesVM; AniDB_AnimeVM anime = ser.AniDB_Anime; allFanarts.AddRange(GetFanartFilenames(anime)); } else if (fanartObject.GetType() == typeof(AniDB_AnimeVM)) { AniDB_AnimeVM anime = fanartObject as AniDB_AnimeVM; allFanarts.AddRange(GetFanartFilenames(anime)); } string randomFanart = ""; if (allFanarts.Count > 0) { randomFanart = allFanarts[fanartRandom.Next(0, allFanarts.Count)]; } if (!String.IsNullOrEmpty(randomFanart)) { fileName = randomFanart; } }
public void RefreshMiniCalendar() { try { System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action) delegate() { MiniCalendar.Clear(); ViewMiniCalendar.SortDescriptions.Clear(); if (UserSettingsVM.Instance.Dash_MiniCalendarUpcomingOnly) { ViewMiniCalendar.SortDescriptions.Add(new SortDescription("AirDate", ListSortDirection.Ascending)); } else { ViewMiniCalendar.SortDescriptions.Add(new SortDescription("AirDate", ListSortDirection.Descending)); } }); List <JMMServerBinary.Contract_AniDBAnime> contracts = JMMServerVM.Instance.clientBinaryHTTP.GetMiniCalendar(JMMServerVM.Instance.CurrentUser.JMMUserID.Value, UserSettingsVM.Instance.Dash_MiniCalendarDays); System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action) delegate() { DateTime yesterday = DateTime.Now.AddDays(-1); foreach (JMMServerBinary.Contract_AniDBAnime contract in contracts) { bool useAnime = true; if (UserSettingsVM.Instance.Dash_MiniCalendarUpcomingOnly && contract.AirDate < yesterday) { useAnime = false; } if (useAnime) { AniDB_AnimeVM anime = new AniDB_AnimeVM(contract); if (JMMServerVM.Instance.CurrentUser.EvaluateAnime(anime)) { MiniCalendar.Add(anime); } } } ViewMiniCalendar.Refresh(); }); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { } }
public IgnoreAnimeVM(JMMServerBinary.Contract_IgnoreAnime contract) { this.IgnoreAnimeID = contract.IgnoreAnimeID; this.JMMUserID = contract.JMMUserID; this.AnimeID = contract.AnimeID; this.IgnoreType = contract.IgnoreType; if (contract.Anime != null) { Anime = new AniDB_AnimeVM(contract.Anime); } }
public void Init(AnimeEpisodeVM ep, AniDB_AnimeVM anime) { AnimeID = anime.AnimeID; Anime = anime; AnimeEpisode = ep; List<int> uids = new List<int>(); cboSeries.Items.Clear(); foreach (CrossRef_AniDB_TvDBVMV2 xref in Anime.TvSummary.CrossRefTvDBV2) { if (!uids.Contains(xref.TvDBID)) cboSeries.Items.Add(xref); uids.Add(xref.TvDBID); } cboSeries.SelectionChanged += new SelectionChangedEventHandler(cboSeries_SelectionChanged); if (cboSeries.Items.Count > 0) cboSeries.SelectedIndex = 0; }
public void DownloadAniDBCover(AniDB_AnimeVM anime, bool forceDownload) { if (string.IsNullOrEmpty(anime.Picname)) return; try { if (anime.AnimeID == 8580) Console.Write(""); 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) { Utils.ShowErrorMessage(ex); } }
public void Populate(JMMServerBinary.Contract_AniDB_AnimeDetailed contract, int animeID) { AnimeID = animeID; AnimeTitles = new List<AnimeTitleVM>(); AnimeTitlesSummary = new List<AnimeTitleVM>(); AnimeTitlesMain = new List<AnimeTitleVM>(); AnimeTitlesOfficial = new List<AnimeTitleVM>(); AnimeTitlesSynonym = new List<AnimeTitleVM>(); AnimeTitlesShort = new List<AnimeTitleVM>(); AnimeCategories = new List<AnimeCategoryVM>(); AnimeCategoriesSummary = new List<AnimeCategoryVM>(); AnimeTags = new List<AnimeTagVM>(); AnimeTagsSummary = new List<AnimeTagVM>(); try { AniDB_Anime = new AniDB_AnimeVM(contract.AniDBAnime); UserVote = null; if (contract.UserVote != null) UserVote = new AniDB_VoteVM(contract.UserVote); UserHasVoted = UserVote != null; UserHasNotVoted = UserVote == null; if (UserVote == null) UserRating = 0; else UserRating = UserVote.VoteValue; UserRatingFormatted = Utils.FormatAniDBRating((double)UserRating); if (UserVote != null) { UserRatingFormatted += " ("; if (UserVote.VoteType == 1) UserRatingFormatted += Properties.Resources.VoteTypeAnimePermanent; if (UserVote.VoteType == 2) UserRatingFormatted += Properties.Resources.VoteTypeAnimeTemporary; UserRatingFormatted += ")"; } this.Stat_AllVideoQuality = contract.Stat_AllVideoQuality; this.Stat_AllVideoQuality_Episodes = contract.Stat_AllVideoQuality_Episodes; this.Stat_AudioLanguages = contract.Stat_AudioLanguages; this.Stat_SubtitleLanguages = contract.Stat_SubtitleLanguages; foreach (JMMServerBinary.Contract_AnimeCategory cat in contract.Categories) { AnimeCategoryVM vcat = new AnimeCategoryVM(cat); AnimeCategories.Add(vcat); } AnimeCategories.Sort(); int i = 0; foreach (AnimeCategoryVM cat in AnimeCategories) { if (i <= 5) AnimeCategoriesSummary.Add(cat); else break; i++; } foreach (JMMServerBinary.Contract_AnimeTag tag in contract.Tags) { AnimeTagVM vtag = new AnimeTagVM(tag); AnimeTags.Add(vtag); } AnimeTags.Sort(); i = 0; foreach (AnimeTagVM tag in AnimeTags) { if (i <= 5) AnimeTagsSummary.Add(tag); else break; i++; } foreach (JMMServerBinary.Contract_AnimeTitle title in contract.AnimeTitles) { AnimeTitleVM vtitle = new AnimeTitleVM(title); AnimeTitles.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.Main.ToUpper()) AnimeTitlesMain.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.Official.ToUpper()) AnimeTitlesOfficial.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.Synonym.ToUpper()) AnimeTitlesSynonym.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.ShortName.ToUpper()) AnimeTitlesShort.Add(vtitle); } i = 0; foreach (AnimeTitleVM title in AnimeTitlesOfficial) { if (i <= 5) AnimeTitlesSummary.Add(title); else break; i++; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public void Populate(JMMServerBinary.Contract_AniDB_AnimeDetailed contract, int animeID) { AnimeID = animeID; AnimeTitles = new List<AnimeTitleVM>(); AnimeTitlesSummary = new List<AnimeTitleVM>(); AnimeTitlesMain = new List<AnimeTitleVM>(); AnimeTitlesOfficial = new List<AnimeTitleVM>(); AnimeTitlesSynonym = new List<AnimeTitleVM>(); AnimeTitlesShort = new List<AnimeTitleVM>(); AnimeTags = new List<AnimeTagVM>(); AnimeTagsSummary = new List<AnimeTagVM>(); CustomTags.Clear(); try { AniDB_Anime = new AniDB_AnimeVM(contract.AniDBAnime); UserVote = null; if (contract.UserVote != null) UserVote = new AniDB_VoteVM(contract.UserVote); UserHasVoted = UserVote != null; UserHasNotVoted = UserVote == null; if (UserVote == null) UserRating = 0; else UserRating = UserVote.VoteValue; UserRatingFormatted = Utils.FormatAniDBRating((double)UserRating); if (UserVote != null) { UserRatingFormatted += " ("; if (UserVote.VoteType == 1) UserRatingFormatted += Properties.Resources.VoteTypeAnimePermanent; if (UserVote.VoteType == 2) UserRatingFormatted += Properties.Resources.VoteTypeAnimeTemporary; UserRatingFormatted += ")"; } this.Stat_AllVideoQuality = new HashSet<string>(contract.Stat_AllVideoQuality); this.Stat_AllVideoQuality_Episodes = new HashSet<string>(contract.Stat_AllVideoQuality_Episodes); this.Stat_AudioLanguages = new HashSet<string>(contract.Stat_AudioLanguages); this.Stat_SubtitleLanguages = new HashSet<string>(contract.Stat_SubtitleLanguages); foreach (JMMServerBinary.Contract_AnimeTag tag in contract.Tags) { AnimeTagVM vtag = new AnimeTagVM(tag); AnimeTags.Add(vtag); } //AnimeTags.Sort(); List<SortPropOrFieldAndDirection> sortCriteria = new List<SortPropOrFieldAndDirection>(); sortCriteria.Add(new SortPropOrFieldAndDirection("Weight", true, SortType.eInteger)); AnimeTags = Sorting.MultiSort<AnimeTagVM>(AnimeTags, sortCriteria); int i = 0; /* foreach (AnimeTagVM tag in AnimeTags) { if (i <= 5) AnimeTagsSummary.Add(tag); else break; i++; } */ foreach (JMMServerBinary.Contract_CustomTag ctag in contract.CustomTags) { CustomTagVM vtag = new CustomTagVM(ctag); CustomTags.Add(vtag); } CustomTags.Sort(); ViewCustomTags.Refresh(); foreach (JMMServerBinary.Contract_AnimeTitle title in contract.AnimeTitles) { AnimeTitleVM vtitle = new AnimeTitleVM(title); AnimeTitles.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.Main.ToUpper()) AnimeTitlesMain.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.Official.ToUpper()) AnimeTitlesOfficial.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.Synonym.ToUpper()) AnimeTitlesSynonym.Add(vtitle); if (title.TitleType.Trim().ToUpper() == Constants.AnimeTitleType.ShortName.ToUpper()) AnimeTitlesShort.Add(vtitle); } i = 0; foreach (AnimeTitleVM title in AnimeTitlesOfficial) { if (i <= 5) AnimeTitlesSummary.Add(title); else break; i++; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
private void SetSelectedAnime(AniDB_AnimeVM anime) { if (anime != null) { IsAnimeNotPopulated = false; IsAnimePopulated = true; SelectedAnime = anime; } else { IsAnimeNotPopulated = true; IsAnimePopulated = false; SelectedAnime = null; } }
public bool EvaluateAnime(AniDB_AnimeVM anime) { // make sure the user has not filtered this out return EvaluateTags(anime.AllTags); }
public void PopulateAnime(JMMServerBinary.Contract_AniDBAnime animeContract) { if (animeContract != null) AniDB_Anime = new AniDB_AnimeVM(animeContract); EvaluateProperties(); }
public bool EvaluateAnime(AniDB_AnimeVM anime) { // make sure the user has not filtered this out if (!string.IsNullOrEmpty(JMMServerVM.Instance.CurrentUser.HideCategories)) { return EvaluateCategoryString(anime.AllCategories); } return true; }
public void Init(int animeID, string animeName, EpisodeType aniEpType, int aniEpNumber, string traktID, int traktSeason, int traktEpNumber, string trakSeriesName, AniDB_AnimeVM anime, int? crossRef_AniDB_TraktV2ID) { Anime = anime; AnimeID = animeID; AnimeName = animeName; AnimeEpisodeType = (int)aniEpType; AnimeEpisodeNumber = aniEpNumber; TraktID = traktID; TraktSeason = traktSeason; TraktEpisodeNumber = traktEpNumber; TraktSeriesName = trakSeriesName; CrossRef_AniDB_TraktV2ID = crossRef_AniDB_TraktV2ID; AnimeURL = string.Format(Constants.URLS.AniDB_Series, AnimeID); TraktURL = string.Format(Constants.URLS.Trakt_Series, TraktID); bool hasSpecials = false; AniDBEpisodes = new List<AniDB_EpisodeVM>(); List<JMMClient.JMMServerBinary.Contract_AniDB_Episode> contracts = JMMServerVM.Instance.clientBinaryHTTP.GetAniDBEpisodesForAnime(AnimeID); foreach (JMMClient.JMMServerBinary.Contract_AniDB_Episode contract in contracts) { AniDBEpisodes.Add(new AniDB_EpisodeVM(contract)); if (contract.EpisodeType == (int)EpisodeType.Special) hasSpecials = true; } cboEpisodeType.Items.Clear(); cboEpisodeType.Items.Add("Episodes"); if (hasSpecials) cboEpisodeType.Items.Add("Specials"); cboEpisodeType.SelectionChanged += new SelectionChangedEventHandler(cboEpisodeType_SelectionChanged); if (aniEpType == EpisodeType.Episode) cboEpisodeType.SelectedIndex = 0; else cboEpisodeType.SelectedIndex = 1; // get the seasons try { cboSeasonNumber.Items.Clear(); List<int> seasons = null; if (anime.traktSummary.traktDetails.ContainsKey(traktID)) { traktDetails = anime.traktSummary.traktDetails[traktID]; seasons = anime.traktSummary.traktDetails[traktID].DictTraktSeasons.Keys.ToList(); } else { JMMServerVM.Instance.clientBinaryHTTP.UpdateTraktData(traktID); traktDetails = new TraktDetails(traktID); seasons = traktDetails.DictTraktSeasons.Keys.ToList(); } int i = 0; int idx = 0; foreach (int season in seasons) { cboSeasonNumber.Items.Add(season.ToString()); if (season == traktSeason) idx = i; i++; } cboSeasonNumber.SelectionChanged += new SelectionChangedEventHandler(cboSeasonNumber_SelectionChanged); cboEpisodeNumber.SelectionChanged += new SelectionChangedEventHandler(cboEpisodeNumber_SelectionChanged); cboSeasonNumber.SelectedIndex = idx; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public void Init(AniDB_AnimeVM anime, string defaultGroupName) { AnimeSearchVM srch = new AnimeSearchVM(); srch.AnimeID = anime.AnimeID; srch.MainTitle = anime.MainTitle; srch.Titles = anime.AllTitles; SetSelectedAnime(srch); EvaluateRadioButtons(); rbGroupExisting.IsChecked = true; AllGroups = new ObservableCollection<AnimeGroupVM>(); SearchResults = new ObservableCollection<AnimeSearchVM>(); try { ViewGroups = CollectionViewSource.GetDefaultView(AllGroups); ViewGroups.SortDescriptions.Add(new SortDescription("SortName", ListSortDirection.Ascending)); ViewSearchResults = CollectionViewSource.GetDefaultView(SearchResults); ViewSearchResults.SortDescriptions.Add(new SortDescription("MainTitle", ListSortDirection.Ascending)); List<JMMServerBinary.Contract_AnimeGroup> grpsRaw = JMMServerVM.Instance.clientBinaryHTTP.GetAllGroups(JMMServerVM.Instance.CurrentUser.JMMUserID.Value); foreach (JMMServerBinary.Contract_AnimeGroup grp in grpsRaw) { AnimeGroupVM grpNew = new AnimeGroupVM(grp); AllGroups.Add(grpNew); } ViewGroups.Filter = GroupSearchFilter; txtGroupName.Text = defaultGroupName; txtGroupSortName.Text = defaultGroupName; } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
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 Init(int animeID, string animeName, string searchCriteria, int? existingTVDBID, AniDB_AnimeVM anime) { Anime = anime; AnimeID = animeID; AnimeName = animeName; ExistingTVDBID = existingTVDBID; txtSearch.Text = searchCriteria; }