示例#1
0
        private void OnRemoveFriendExecute()
        {
            var friendToRemove = SelectedAddedFriend;

            Meeting.Model.Friends.Remove(friendToRemove);
            AddedFriends.Remove(friendToRemove);
            AvailableFriends.Add(friendToRemove);
            HasChanges = _meetingRepository.HasChanges();
            SaveCommand.RaiseCanExecuteChanged();
        }
        private void OnAddFriendExecute()
        {
            var friendToAdd = SelectedAvailableFriend;

            Meeting.Model.Friends.Add(friendToAdd);
            AddedFriends.Add(friendToAdd);
            AvailableFriends.Remove(friendToAdd);
            HasChanges = _meetingRepository.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
        private void OnRemoveFriendExecute()
        {
            var friendToRemove = SelectedAddedFriend;

            Meeting.Model.Friends.Remove(friendToRemove); //model db
            AddedFriends.Remove(friendToRemove);          //list shown
            AvailableFriends.Add(friendToRemove);
            HasChanges = _meetingRepository.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
        private void OnRemoveFriendExecute()
        {
            var selectedFriendToRemove = SelectedAddedFried;

            var friendToRemove = Meeting.Model.FriendMeetings
                                 .FirstOrDefault(e => e.FriendId == selectedFriendToRemove.Id && e.MeetingId == Meeting.Id);

            Meeting.Model.FriendMeetings.Remove(friendToRemove);

            AddedFriends.Remove(selectedFriendToRemove);
            AvailibleFriends.Add(selectedFriendToRemove);
            HasChange = _meetingService.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
        private void OnAddFriendExecute()
        {
            var friendToAdd = SelectedAvailibleFried;

            Meeting.Model.FriendMeetings
            .Add(new FriendMeeting()
            {
                FriendId = friendToAdd.Id, MeetingId = Meeting.Id
            });

            AddedFriends.Add(friendToAdd);
            AvailibleFriends.Remove(friendToAdd);
            HasChange = _meetingService.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
        private void OnRemoveFriendExecute()
        {
            var friendToRemove = SelectedAddedFriend;

            //todo:fix the navigation
            var friendMeeting = friendToRemove.FriendMeetings
                                .Single(m => m.FriendId == friendToRemove.Id &&
                                        m.MeetingId == Meeting.Model.Id);

            Meeting.Model.FriendMeetings.Remove(friendMeeting);

            AddedFriends.Remove(friendToRemove);
            AvailableFriends.Add(friendToRemove);
            HasChanges = _meetingRepository.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
        private void SetupPicklist()
        {
            var meetingFriendIds = Meeting.Model.Friends.Select(f => f.Id).ToList();
            var addedFriends     = _allFriends.Where(f => meetingFriendIds.Contains(f.Id)).OrderBy(f => f.FirstName);
            var availableFriends = _allFriends.Except(addedFriends).OrderBy(f => f.FirstName);

            AddedFriends.Clear();
            AvailableFriends.Clear();
            foreach (var addedFriend in addedFriends)
            {
                AddedFriends.Add(addedFriend);
            }
            foreach (var availableFriend in availableFriends)
            {
                AvailableFriends.Add(availableFriend);
            }
        }
        private void OnAddFriendExecute()
        {
            var friendToAdd = SelectedAvailableFriend;

            //todo:fix the navigation
            Meeting.Model.FriendMeetings.Add(new FriendMeetings
            {
                Friend    = friendToAdd,
                FriendId  = friendToAdd.Id,
                Meeting   = Meeting.Model,
                MeetingId = Meeting.Model.Id
            });

            AddedFriends.Add(friendToAdd);
            AvailableFriends.Remove(friendToAdd);
            HasChanges = _meetingRepository.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
        private void SetupPickList()
        {
            var meetingFriendIds = Meeting
                                   .Model
                                   .FriendMeetings
                                   .Select(fm => fm.Friend)
                                   .Select(f => f.Id).ToList();

            var addableFriends = _allFriends
                                 .Where(f => meetingFriendIds.Contains(f.Id))
                                 .OrderBy(f => f.FirstName);

            var availibleFriends = _allFriends
                                   .Except(addableFriends)
                                   .OrderBy(f => f.FirstName);

            AddedFriends.Clear();
            AvailibleFriends.Clear();

            foreach (var af in addableFriends)
            {
                AddedFriends.Add(new FriendModel()
                {
                    Id        = af.Id,
                    Email     = af.Email,
                    FirstName = af.FirstName,
                    LastName  = af.LastName
                });
            }

            foreach (var af in availibleFriends)
            {
                AvailibleFriends.Add(new FriendModel()
                {
                    Id        = af.Id,
                    Email     = af.Email,
                    FirstName = af.FirstName,
                    LastName  = af.LastName
                });
            }
        }