private void SendFollowerToFacade(IEnumerable<TraktNetworkUser> followers)
{
// clear facade
GUIControl.ClearControl(GetID, Facade.GetID);
ClearProperties();
if (followers == null)
{
GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral);
GUIWindowManager.ActivateWindow(GUIWindowManager.GetPreviousActiveWindow());
return;
}
int followerCount = followers.Count();
GUIUtils.SetProperty("#itemcount", followerCount.ToString());
GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", followerCount.ToString(), followerCount > 1 ? Translation.Follower : Translation.Followers));
if (followerCount == 0)
{
GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoFollowersTaunt);
if (viewButton != null)
{
// let user select another view since there is nothing to show here
GUIControl.FocusControl(GetID, viewButton.GetID);
}
else
{
GUIWindowManager.ShowPreviousWindow();
}
return;
}
int id = 0;
var userImages = new List<GUITraktImage>();
// Add each user to the list
foreach (var follower in followers.OrderBy(f => f.FollowedAt.FromISO8601()).ToList())
{
// add image to download
var images = new GUITraktImage { UserImages = follower.User.Images };
userImages.Add(images);
var userItem = new GUIUserListItem(follower.User.Username, (int)TraktGUIWindows.Network);
userItem.Label2 = follower.FollowedAt.FromISO8601().ToShortDateString();
userItem.Images = images;
userItem.TVTag = follower;
userItem.User = follower.User;
userItem.ItemId = id++;
userItem.IsFollower = true;
userItem.IconImage = "defaultTraktUser.png";
userItem.IconImageBig = "defaultTraktUserBig.png";
userItem.ThumbnailImage = "defaultTraktUserBig.png";
userItem.OnItemSelected += OnUserSelected;
Utils.SetDefaultIcons(userItem);
Facade.Add(userItem);
}
// restore previous selection
if (Facade.Count <= PreviousUserSelectedIndex)
Facade.SelectedListItemIndex = 0;
else
Facade.SelectedListItemIndex = PreviousUserSelectedIndex;
// Set Facade Layout
Facade.SetCurrentLayout("List");
GUIControl.FocusControl(GetID, Facade.GetID);
// Download avatars Async and set to facade
GUIUserListItem.GetImages(userImages);
}