예제 #1
0
        private void FriendList_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            if (e.NewItems != null)
            {
                foreach (var friend in e.NewItems.Cast <Friend>())
                {
                    FriendList.Add(new FriendViewModel(friend));
                }
            }

            if (e.OldItems != null)
            {
                var list = e.OldItems
                           .Cast <Friend>()
                           .Select(s => new FriendViewModel(s))
                           .ToList();

                foreach (var friend in FriendList.Where(w => list.Any(a => a.FirebaseKey == w.FirebaseKey)).ToList())
                {
                    FriendList.Remove(friend);
                }
            }

            TestHook?.NotifyOtherThreads();
        }
        private async void NavigateRequest_NavigationDeclined(object sender, EventArgs e)
        {
            _navigateRequest.NavigationDeclined -= NavigateRequest_NavigationDeclined;
            _navigateRequest.NavigationAccepted -= NavigateRequest_NavigationAccepted;

            await _mvxNavigationService.Navigate <ChatViewModel, ChatParameters>(new ChatParameters
            {
                Chat            = _chat,
                NavigateRequest = _navigateRequest
            });

            TestHook?.NotifyOtherThreads();
        }