コード例 #1
0
        private void OnOpenFriendEditView(int friendId)
        {
            var friendEditVm = FriendEditViewModels.FirstOrDefault(f => f.Friend.Id == friendId) ??
                               CreateAndLoadFriendEditViewModel(friendId);

            SelectedFriendEditViewModel = friendEditVm;
        }
コード例 #2
0
        private IFriendEditViewModel CreateAndLoadFriendEditViewModel(int?friendId)
        {
            var friendEditVm = _friendEditVmCreator();

            FriendEditViewModels.Add(friendEditVm);
            friendEditVm.Load(friendId);
            return(friendEditVm);
        }
コード例 #3
0
        private IFriendEditViewModel CreateAndLoadFriendEditViewModel(int?friendId)
        {
            IFriendEditViewModel selectedFriendViewModel = friendViewModelCreator();

            FriendEditViewModels.Add(selectedFriendViewModel);
            selectedFriendViewModel.Load(friendId);
            return(selectedFriendViewModel);
        }
コード例 #4
0
        private void OnAddFriendExecute(object obj)
        {
            IFriendEditViewModel friendEditVm = _friendEditViewModelCreator();

            FriendEditViewModels.Add(friendEditVm);
            friendEditVm.Load();
            SelectedFriendEditViewModel = friendEditVm;
        }
コード例 #5
0
        private void OnAddFriendExecute(object obj)
        {
            IFriendEditViewModel viewModel = _friendEditViewModelCreator();

            FriendEditViewModels.Add(viewModel);
            viewModel.Load();
            SelectedFriendEditViewModel = viewModel;
        }
コード例 #6
0
 public void OnClosing(CancelEventArgs e)
 {
     if (FriendEditViewModels.Any(f => f.Friend.IsChanged))
     {
         var result = _messageDialogService.ShowYesNoDialog("Close application?",
                                                            "You'll lose your changes if you close this application. Close it?", MessageDialogResult.No);
         e.Cancel = result == MessageDialogResult.No;
     }
 }
コード例 #7
0
        private void OnFriendDeleted(int friendId)
        {
            IFriendEditViewModel friendEditVmToClose =
                FriendEditViewModels.SingleOrDefault(f => f.Friend.Id == friendId);

            if (friendEditVmToClose != null)
            {
                FriendEditViewModels.Remove(friendEditVmToClose);
            }
        }
コード例 #8
0
        private void OnFriendDeleted(int friendId)
        {
            var viewModel = FriendEditViewModels
                            .SingleOrDefault(f => f.Friend.Id == friendId);

            if (viewModel != null)
            {
                FriendEditViewModels.Remove(viewModel);
            }
        }
コード例 #9
0
        private void OnCloseFriendTabExecute(object parameter)
        {
            var friendEditVmToClose = parameter as IFriendEditViewModel;

            if (friendEditVmToClose != null)
            {
                // TODO: Check if the Friend has changes and ask user to cancel
                FriendEditViewModels.Remove(friendEditVmToClose);
            }
        }
コード例 #10
0
        private void OnOpenFriendEditView(int friendId)
        {
            var friendEditVm = FriendEditViewModels.SingleOrDefault(vm => vm.Friend.Id == friendId);

            if (friendEditVm == null)
            {
                friendEditVm = CreateAndLoadFriendEditViewModel(friendId);
            }
            SelectedFriendEditViewModel = friendEditVm;
        }
コード例 #11
0
        private void OnOpenFriendEditView(int friendId)
        {
            var friendEditVm = FriendEditViewModels.SingleOrDefault(vm => vm.Friend.Id == friendId); // ad 2 / 3

            if (friendEditVm == null)                                                                //if not found
            {
                friendEditVm = _friendEditVmCreator();                                               //ad 2
                FriendEditViewModels.Add(friendEditVm);                                              // ad 2
                friendEditVm.Load(friendId);                                                         //ad 2
            }
            SelectedFriendEditViewModel = friendEditVm;
        }
コード例 #12
0
        private void OnOpenFriendEditView(int friendId)
        {
            IFriendEditViewModel selectedFriendViewModel =
                FriendEditViewModels.SingleOrDefault(model => model.Friend.Id == friendId);

            if (selectedFriendViewModel == null)
            {
                selectedFriendViewModel = CreateAndLoadFriendEditViewModel(friendId);
            }

            SelectedFriendEditViewModel = selectedFriendViewModel;
        }
コード例 #13
0
        private void OnOpenFriendEditView(int friendId)
        {
            var friendEditVm = FriendEditViewModels.SingleOrDefault(vm => vm.Friend.Id == friendId);

            if (friendEditVm == null)
            {
                friendEditVm = _friendEditVmCreator();
                FriendEditViewModels.Add(friendEditVm);
                friendEditVm.Load(friendId);
            }
            SelectedFriendEditViewModel = friendEditVm;
        }
コード例 #14
0
        private void OnOpenFriendTab(int friendId)
        {
            var viewModel = FriendEditViewModels
                            .SingleOrDefault(vm => vm.Friend.Id == friendId);

            if (viewModel == null)
            {
                viewModel = _friendEditViewModelCreator();
                FriendEditViewModels.Add(viewModel);
                viewModel.Load(friendId);
            }
            SelectedFriendEditViewModel = viewModel;
        }
コード例 #15
0
        private void OnCloseFriendTabExecute(object parameter)
        {
            var friendEditVmToClose = parameter as IFriendEditViewModel;

            if (friendEditVmToClose != null)
            {
                if (friendEditVmToClose.Friend.IsChanged)
                {
                    var result = _messageDialogService.ShowYesNoDialog("Close tab?",
                                                                       "You'll lose your changes if you close this tab. Close it?",
                                                                       MessageDialogResult.No);
                    if (result == MessageDialogResult.No)
                    {
                        return;
                    }
                }
                FriendEditViewModels.Remove(friendEditVmToClose);
            }
        }
コード例 #16
0
        private void OnCloseFriendTabExecute(object obj)
        {
            var friendEditVmToClose = obj as IFriendEditViewModel;

            if (friendEditVmToClose != null)
            {
                // TODO: Check if the Friend has changes and ask user to cancel
                if (friendEditVmToClose.Friend.IsChanged)
                {
                    var result = _messageDialogService.ShowYesNoDialog("Close Tab?",
                                                                       $"There are unsaved changes, do you really want to close this tab?",
                                                                       MessageDialogResult.No);

                    if (result == MessageDialogResult.No)
                    {
                        SelectedFriendEditViewModel = friendEditVmToClose;
                        return;
                    }
                }
                FriendEditViewModels.Remove(friendEditVmToClose);
            }
        }
コード例 #17
0
ファイル: MainViewModel.cs プロジェクト: laskalexjob/WPF.TDD
        private void OnCloseFriendTabExecute(object obj)
        {
            var friendEditVm = (IFriendEditViewModel)obj;

            FriendEditViewModels.Remove(friendEditVm);
        }
コード例 #18
0
 private void OnCloseTabExecute(object friendEditViewModel)
 {
     FriendEditViewModels.Remove((IFriendEditViewModel)friendEditViewModel);
 }
コード例 #19
0
 private void OnDeleteFriend(int friendId)
 {
     FriendEditViewModels.Remove(
         FriendEditViewModels.SingleOrDefault <IFriendEditViewModel>(model => model.Friend.Id == friendId));
 }
コード例 #20
0
        private void OnFriendDeleted(int friendId)
        {
            var friendEditVm = FriendEditViewModels.Single(vm => vm.Friend.Id == friendId);

            FriendEditViewModels.Remove(friendEditVm);
        }