예제 #1
0
		private void PopulateTvDBDetails()
		{
			if (CrossRefTvDBV2 == null) return;

			foreach (CrossRef_AniDB_TvDBVMV2 xref in CrossRefTvDBV2)
			{
				TvDBDetails det = new TvDBDetails(xref.TvDBID);
				TvDetails[xref.TvDBID] = det;
			}
		}
        public void Init(int animeID, string animeName, EpisodeType aniEpType, int aniEpNumber, int tvDBID, int tvSeason, int tvEpNumber, string tvSeriesName, 
            AniDB_AnimeVM anime, int? crossRef_AniDB_TvDBV2ID)
        {
            Anime = anime;
            AnimeID = animeID;
            AnimeName = animeName;
            AnimeEpisodeType = (int)aniEpType;
            AnimeEpisodeNumber = aniEpNumber;
            TvDBID = tvDBID;
            TvDBSeason = tvSeason;
            TvDBEpisodeNumber = tvEpNumber;
            TvDBSeriesName = tvSeriesName;
            CrossRef_AniDB_TvDBV2ID = crossRef_AniDB_TvDBV2ID;

            AnimeURL = string.Format(Constants.URLS.AniDB_Series, AnimeID);
            TvDBURL = string.Format(Constants.URLS.TvDB_Series, TvDBID);

            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.TvSummary.TvDetails.ContainsKey(tvDBID))
                {
                    TvDetails = anime.TvSummary.TvDetails[tvDBID];
                    seasons = anime.TvSummary.TvDetails[tvDBID].DictTvDBSeasons.Keys.ToList();
                }
                else
                {
                    JMMServerVM.Instance.clientBinaryHTTP.UpdateTvDBData(tvDBID);
                    TvDetails = new TvDBDetails(tvDBID);
                    seasons = TvDetails.DictTvDBSeasons.Keys.ToList();
                    //seasons = JMMServerVM.Instance.clientBinaryHTTP.GetSeasonNumbersForSeries(tvDBID);
                }

                int i = 0;
                int idx = 0;
                foreach (int season in seasons)
                {
                    cboSeasonNumber.Items.Add(season.ToString());
                    if (season == tvSeason) idx = i;
                    i++;
                }

                cboSeasonNumber.SelectionChanged += new SelectionChangedEventHandler(cboSeasonNumber_SelectionChanged);
                cboEpisodeNumber.SelectionChanged += new SelectionChangedEventHandler(cboEpisodeNumber_SelectionChanged);

                cboSeasonNumber.SelectedIndex = idx;

            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
예제 #3
0
		private void PopulateSeasons(CrossRef_AniDB_TvDBVMV2 xref)
		{
			cboSeason.SelectionChanged -= new SelectionChangedEventHandler(cboSeason_SelectionChanged);

			SeasonNumbers.Clear();
			cboSeason.Items.Clear();
			TvDetails = null;
			if (Anime.TvSummary.TvDetails.ContainsKey(xref.TvDBID))
				TvDetails = Anime.TvSummary.TvDetails[xref.TvDBID];

			if (TvDetails == null) return;

			foreach (int season in TvDetails.DictTvDBSeasons.Keys)
				cboSeason.Items.Add(season);

			cboSeason.SelectionChanged += new SelectionChangedEventHandler(cboSeason_SelectionChanged);

			if (cboSeason.Items.Count > 0)
				cboSeason.SelectedIndex = 0;
		}