TraktPlugin.GUI.GUINetwork.SendFollowerToFacade C# (CSharp) Méthode

SendFollowerToFacade() private méthode

private SendFollowerToFacade ( IEnumerable followers ) : void
followers IEnumerable
Résultat void
        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);
        }