private void SetActorInfo(TvdbActor _actor) { txtActorId.Text = _actor.Id.ToString(); txtActorName.Text = _actor.Name.ToString(); txtActorRole.Text = _actor.Role.ToString(); txtActorSortOrder.Text = _actor.SortOrder.ToString(); }
protected async Task <ApiWrapperImageCollection <TvdbBanner> > GetActorFanArtAsync(PersonInfo person, TvdbLanguage language) { if (person == null || person.TvdbId < 1) { return(null); } int seriesTvdbId; if (!_seriesToActorMap.GetMappedId(person.TvdbId.ToString(), out string seriesId) || !int.TryParse(seriesId, out seriesTvdbId)) { return(null); } TvdbSeries seriesDetail = await _tvdbHandler.GetSeriesAsync(seriesTvdbId, language, false, true, true).ConfigureAwait(false); if (seriesDetail == null) { return(null); } TvdbActor actor = seriesDetail.TvdbActors.FirstOrDefault(a => a.Id == person.TvdbId); if (actor == null) { return(null); } ApiWrapperImageCollection <TvdbBanner> images = new ApiWrapperImageCollection <TvdbBanner>(); images.Id = actor.Id.ToString(); images.Thumbnails.AddRange(new TvdbBanner[] { actor.ActorImage }); return(images); }
/// <summary> /// Extract a list of actors when the data has the format: /// <![CDATA[ /// <?xml version="1.0" encoding="UTF-8" ?> /// <Actors> /// <Actor> /// <id>22017</id> /// <Image>actors/22017.jpg</Image> /// <Name>Zachary Levi</Name> /// <Role>Chuck Bartowski</Role> /// <SortOrder>0</SortOrder> /// </Actor> /// </Actors> /// ]]> /// </summary> /// <param name="data">data</param> /// <returns>List of actors</returns> internal List <TvdbActor> ExtractActors(String data) { //Stopwatch watch = new Stopwatch(); //watch.Start(); XDocument xml = XDocument.Parse(data); var allActors = from episode in xml.Descendants("Actor") select new { Id = episode.Element("id").Value, Image = episode.Element("Image").Value, Name = episode.Element("Name").Value, Role = episode.Element("Role").Value, SortOrder = episode.Element("SortOrder").Value }; List <TvdbActor> actorList = new List <TvdbActor>(); foreach (var a in allActors) { int id = Util.Int32Parse(a.Id); if (id == Util.NO_VALUE) { continue; } TvdbActor actor = new TvdbActor { Id = id, Name = a.Name, Role = a.Role, SortOrder = Util.Int32Parse(a.SortOrder) }; TvdbActorBanner banner = new TvdbActorBanner { Id = actor.Id, BannerPath = a.Image }; actor.ActorImage = banner; actorList.Add(actor); } //watch.Stop(); //Log.Debug("Extracted " + actorList.Count + " actors in " + watch.ElapsedMilliseconds + " milliseconds"); return(actorList); }
/// <summary> /// Extract a list of actors when the data has the format: /// <![CDATA[ /// <?xml version="1.0" encoding="UTF-8" ?> /// <Actors> /// <Actor> /// <id>22017</id> /// <Image>actors/22017.jpg</Image> /// <Name>Zachary Levi</Name> /// <Role>Chuck Bartowski</Role> /// <SortOrder>0</SortOrder> /// </Actor> /// </Actors> /// ]]> /// </summary> /// <param name="_data">data</param> /// <returns>List of actors</returns> internal List <TvdbActor> ExtractActors(String _data) { Stopwatch watch = new Stopwatch(); watch.Start(); XDocument xml = XDocument.Parse(_data); List <TvdbBanner> retList = new List <TvdbBanner>(); var allActors = from episode in xml.Descendants("Actor") select new { Id = episode.Element("id").Value, Image = episode.Element("Image").Value, Name = episode.Element("Name").Value, Role = episode.Element("Role").Value, SortOrder = episode.Element("SortOrder").Value }; List <TvdbActor> actorList = new List <TvdbActor>(); foreach (var a in allActors) { TvdbActor actor = new TvdbActor(); actor.Id = Util.Int32Parse(a.Id); actor.Name = a.Name; actor.Role = a.Role; actor.SortOrder = Util.Int32Parse(a.SortOrder); TvdbActorBanner banner = new TvdbActorBanner(); banner.Id = actor.Id; banner.BannerPath = a.Image; actor.ActorImage = banner; if (actor.Id != -99) { actorList.Add(actor); } } watch.Stop(); Log.Debug("Extracted " + actorList.Count + " actors in " + watch.ElapsedMilliseconds + " milliseconds"); return(actorList); }