TraktPlugin.GUI.GUISearchEpisodes.SendSearchResultsToFacade C# (CSharp) Méthode

SendSearchResultsToFacade() private méthode

private SendSearchResultsToFacade ( IEnumerable episodes ) : void
episodes IEnumerable
Résultat void
        private void SendSearchResultsToFacade(IEnumerable<TraktEpisodeSummaryEx> episodes)
        {
            // clear facade
            GUIControl.ClearControl(GetID, Facade.GetID);

            if (episodes == null)
            {
                GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral);
                GUIWindowManager.ShowPreviousWindow();
                Episodes = null;
                return;
            }

            if (episodes.Count() == 0)
            {
                GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSearchResultsFound);
                GUIWindowManager.ShowPreviousWindow();
                Episodes = null;
                return;
            }

            int itemId = 0;
            var showImages = new List<GUITmdbImage>();

            // Add each show
            foreach (var episodeSummary in episodes)
            {
                // add images for download
                var images = new GUITmdbImage
                {
                    EpisodeImages = new TmdbEpisodeImages
                    {
                        Id = episodeSummary.Show.Ids.Tmdb,
                        Season = episodeSummary.Episode.Season,
                        Episode = episodeSummary.Episode.Number,
                        AirDate = episodeSummary.Episode.FirstAired == null ? null : episodeSummary.Episode.FirstAired.FromISO8601().ToLocalTime().ToShortDateString()
                    }
                };
                showImages.Add(images);

                var item = new GUIEpisodeListItem(episodeSummary.ToString(), (int)TraktGUIWindows.SearchEpisodes);

                item.Label2 = episodeSummary.Show.Year.ToString();
                item.TVTag = episodeSummary;
                item.Episode = episodeSummary.Episode;
                item.Show = episodeSummary.Show;
                item.Images = images;
                item.IsPlayed = episodeSummary.Episode.IsWatched(episodeSummary.Show);
                item.ItemId = Int32.MaxValue - itemId;
                item.IconImage = "defaultTraktEpisode.png";
                item.IconImageBig = "defaultTraktEpisodeBig.png";
                item.ThumbnailImage = "defaultTraktEpisodeBig.png";
                item.OnItemSelected += OnEpisodeSelected;
                Utils.SetDefaultIcons(item);
                Facade.Add(item);
                itemId++;
            }

            // Set Facade Layout
            Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout));
            GUIControl.FocusControl(GetID, Facade.GetID);

            if (SearchTermChanged) PreviousSelectedIndex = 0;
            Facade.SelectIndex(PreviousSelectedIndex);

            // set facade properties
            GUIUtils.SetProperty("#itemcount", episodes.Count().ToString());
            GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", episodes.Count().ToString(), episodes.Count() > 1 ? Translation.Episodes : Translation.Episode));

            // Download images Async and set to facade
            GUIEpisodeListItem.GetImages(showImages);
        }