public async Task <UserAndFriendsApps> GetUserAndFriendsAppsAsync(FriendPlayRequestParameters requestParameters)
        {
            using (HttpResponseMessage response = await RequestAsync(requestParameters))
            {
                if (response.IsSuccessStatusCode)
                {
                    var json = await response.Content.ReadAsStringAsync();

                    var resp = UserAndFriendsApps.FromJson(json);
                    return(resp?.Success == true ? resp : null);
                }
            }
            return(null);
        }
Ejemplo n.º 2
0
        private void UpdatePlayData(UserAndFriendsApps playData)
        {
            var apps = new List <SteamApplistItemControl>(playData?.Apps?.Length ?? 0);

            //FriendPlay.Data = playData;
            FriendsList.Items.Clear();
            GamesList.Items.Clear();
            if (playData == null)
            {
                //FriendsList.Items.Add("Load up a userId above!");
                _apps = Enumerable.Empty <SteamApplistItemControl>();
            }
            else
            {
                FriendsList.Items.Add(new UserInfoControl()
                {
                    Data = new TryIdResponse <UserInfo>(true, playData.SteamUserId, playData.UserInfo)
                });
                foreach (var user in playData.Friends)
                {
                    if (user.Success)
                    {
                        var ui = new UserInfoControl()
                        {
                            Data = user
                        };
                        FriendsList.Items.Add(ui);
                    }
                }

                var dict = playData.Friends.Where(ui => ui.Success).ToDictionary(ui => ui.Id, ui => ui.Value);
                dict.Add(playData.SteamUserId, playData.UserInfo);

                foreach (var app in playData.Apps)
                {
                    var sali = new SteamApplistItemControl()
                    {
                        AppName = app.AppName,
                        Owners  = app.UserIds.Select(id => (dict.TryGetValue(id, out var ui), ui)).Where(t => t.Item1).Select(t => t.Item2).ToArray(),
                    };
                    apps.Add(sali);
                    GamesList.Items.Add(sali);
                }
                _apps = apps;
            }
        }