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); }
private void RefreshMembers() { _members = MemberDataProvider.GetMembers(); MemberListBox.ItemsSource = _members; }
private void UpdateMembers() { _members = MemberDataProvider.GetMembers(); libraryMemberList.ItemsSource = _members; }