public void UpdateHeirarchy(VideoDetailedVM vid) { try { // get the episodes that this file applies to List<JMMServerBinary.Contract_AnimeEpisode> eps = JMMServerVM.Instance.clientBinaryHTTP.GetEpisodesForFile(vid.VideoLocalID, JMMServerVM.Instance.CurrentUser.JMMUserID.Value); foreach (JMMServerBinary.Contract_AnimeEpisode epcontract in eps) { AnimeSeriesVM thisSeries = null; foreach (AnimeSeriesVM ser in MainListHelperVM.Instance.AllSeries) { if (ser.AnimeSeriesID == epcontract.AnimeSeriesID) { thisSeries = ser; break; } } // update the episodes if (thisSeries != null && thisSeries.AnimeSeriesID.HasValue && thisSeries.AnimeSeriesID.Value == epcontract.AnimeSeriesID) { foreach (AnimeEpisodeVM ep in thisSeries.AllEpisodes) { if (ep.AnimeEpisodeID == epcontract.AnimeEpisodeID) { ep.Populate(epcontract); // update the attached videos List<JMMServerBinary.Contract_VideoDetailed> contracts = JMMServerVM.Instance.clientBinaryHTTP.GetFilesForEpisode(ep.AnimeEpisodeID, JMMServerVM.Instance.CurrentUser.JMMUserID.Value); foreach (JMMServerBinary.Contract_VideoDetailed vidcontract in contracts) { if (vid.VideoLocalID == vidcontract.VideoLocalID) { vid.Populate(vidcontract); break; } } // update all the attached groups UpdateGroupAndSeriesForEpisode(ep); } } } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public AnimeEpisodeVM GetEpisodeForVideo(VideoDetailedVM vid, EpisodeList epList) { // get the episodes that this file applies to try { List<JMMServerBinary.Contract_AnimeEpisode> eps = JMMServerVM.Instance.clientBinaryHTTP.GetEpisodesForFile(vid.VideoLocalID, JMMServerVM.Instance.CurrentUser.JMMUserID.Value); foreach (JMMServerBinary.Contract_AnimeEpisode epcontract in eps) { foreach (object epObj in epList.lbEpisodes.ItemsSource) { AnimeEpisodeVM epItem = epObj as AnimeEpisodeVM; if (epItem.AnimeEpisodeID == vid.AnimeEpisodeID) return epItem; } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } return null; }