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