public async Task <List <MembersListDto> > GetMembersList()
        {
            var allMembers = await _memberDataProvider.GetMembers();

            var allFriends = await _memberDataProvider.GetFriends();



            List <MembersListDto> members = new List <MembersListDto>();

            Parallel.ForEach(allMembers, (member =>
            {
                MembersListDto memberDto = new MembersListDto()
                {
                    Name = member.Name,
                    Url = member.ShortUrl,
                    Id = member.Id,
                    Friends = new List <MemberDto>()
                };

                var friends = allFriends.Where(x => x.MemberId == member.Id).ToList();

                Parallel.ForEach(friends, (friend =>
                {
                    var memberFriend = allMembers.Where(x => x.Id == friend.FriendId).FirstOrDefault();

                    if (memberFriend != null)
                    {
                        memberDto.Friends.Add(new MemberDto()
                        {
                            Name = memberFriend.Name,
                            Url = memberFriend.ShortUrl,
                            Id = memberFriend.Id
                        });
                    }
                }));

                members.Add(memberDto);
            }));

            return(members);
        }
Exemplo n.º 2
0
 private void RefreshMembers()
 {
     _members = MemberDataProvider.GetMembers();
     MemberListBox.ItemsSource = _members;
 }
Exemplo n.º 3
0
 private void UpdateMembers()
 {
     _members = MemberDataProvider.GetMembers();
     libraryMemberList.ItemsSource = _members;
 }