private void SendSearchResultsToFacade(IEnumerable<TraktPersonSummary> people)
{
// clear facade
GUIControl.ClearControl(GetID, Facade.GetID);
if (people == null)
{
GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral);
GUIWindowManager.ShowPreviousWindow();
People = null;
return;
}
if (people.Count() == 0)
{
GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSearchResultsFound);
GUIWindowManager.ShowPreviousWindow();
People = null;
return;
}
int itemId = 0;
var personImages = new List<GUITmdbImage>();
// Add each movie
foreach (var person in people)
{
// add image for download
var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Ids.TmdbId } };
personImages.Add(images);
var item = new GUIPersonListItem(person.Name.Trim(), (int)TraktGUIWindows.SearchPeople);
item.TVTag = person;
item.Images = images;
item.ItemId = Int32.MaxValue - itemId;
item.IconImage = GUIImageHandler.GetDefaultPoster(false);
item.IconImageBig = GUIImageHandler.GetDefaultPoster();
item.ThumbnailImage = GUIImageHandler.GetDefaultPoster();
item.OnItemSelected += OnPersonSelected;
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", people.Count().ToString());
GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", people.Count().ToString(), people.Count() > 1 ? Translation.People : Translation.Person));
// Download images Async and set to facade
GUIPersonListItem.GetImages(personImages);
}