Beispiel #1
0
		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);
			}
		}
Beispiel #2
0
		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;
		}