Esempio n. 1
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            var detailViewModel = DetailViewModels
                                  .SingleOrDefault(vm => vm.Id == args.Id &&
                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                detailViewModel = _detailViewModelCreator[args.ViewModelName];
                try
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                catch
                {
                    await _messageDialogService.ShowInfoDialogAsync("Could not load the entity, " +
                                                                    "maybe it was deleted in the meantime by another user. " +
                                                                    "The navigation is refreshed for you.");

                    await NavigationViewModel.LoadAsync();
                    await LoadAsync();

                    return;
                }

                DetailViewModels.Add(detailViewModel);
            }
            SelectedDetailViewModel = detailViewModel;
        }
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            var detailViewModel = DetailViewModels
                                  .SingleOrDefault(vm => vm.Id == args.Id &&
                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                detailViewModel = _detailViewModelCreator[args.ViewModelName];
                try
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                catch
                {
                    await _messageDialog.ShowInfoDialogAsync("Could not load entity");

                    await NavigationViewModel.LoadAsync();

                    return;
                }
                DetailViewModels.Add(detailViewModel);
            }

            SelectedDetailViewModel = detailViewModel;
        }
        private async void OpenDetailView(OpenDetailViewEventArgs args)
        {
            Int64 startTicks = Log.EVENT_HANDLER($"(CatMainViewModel) Enter Id:({args.Id}(", Common.LOG_CATEGORY);

            var detailViewModel = DetailViewModels
                                  .SingleOrDefault(vm => vm.Id == args.Id &&
                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                switch (args.ViewModelName)
                {
                // case nameof(CatDetailViewModel):
                // detailViewModel = (IDetailViewModel)_CatDetailViewModelCreator();
                // break;

                case nameof(CatDetailViewModel):
                    detailViewModel = (IDetailViewModel)_CatDetailViewModelCreator();
                    break;

                //case nameof(MeetingDetailViewModel):
                //    detailViewModel = _meetingDetailViewModelCreator();
                //    break;

                case nameof(ToyDetailViewModel):
                    detailViewModel = _ToyDetailViewModelCreator();
                    break;

                // This should not happen anymore withe TYPEEvent
                default:
                    return;
                }

                // Verify item still exists (may have been deleted)

                try
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                catch (Exception ex)
                {
                    var message = $"Cannot load the entity ({ex}) It may have been deleted by another user";

                    DialogService.Show("NotificationDialog", new DialogParameters($"message={message}"), r =>
                    {
                    });

                    await NavigationViewModel.LoadAsync();

                    return;
                }

                DetailViewModels.Add(detailViewModel);
            }

            SelectedDetailViewModel = detailViewModel;

            Log.VIEWMODEL("(CatMainViewModel) Exit", Common.LOG_CATEGORY, startTicks);
        }
Esempio n. 4
0
        private async void OpenDetailView(OpenDetailViewEventArgs args)
        {
            Int64 startTicks = Log.EVENT_HANDLER($"(DogMainViewModel) Enter Id:({args.Id}(", Common.LOG_APPNAME);

            var detailViewModel = DetailViewModels
                                  .SingleOrDefault(vm => vm.Id == args.Id &&
                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                switch (args.ViewModelName)
                {
                case nameof(DogDetailViewModel):
                    detailViewModel = (IDetailViewModel)_DogDetailViewModelCreator();
                    break;

                //case nameof(MeetingDetailViewModel):
                //    detailViewModel = _meetingDetailViewModelCreator();
                //    break;

                case nameof(BoneDetailViewModel):
                    detailViewModel = _BoneDetailViewModelCreator();
                    break;

                // Ignore event if we don't handle
                default:
                    return;
                }

                // Verify item still exists (may have been deleted)

                try
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                catch (Exception ex)
                {
                    //MessageDialogService.ShowInfoDialog($"Cannot load the entity ({ex})" +
                    //    "It may have been deleted by another user.  Updating Navigation");

                    var message = $"Cannot load the entity ({ex})" +
                                  "It may have been deleted by another user.  Updating Navigation";

                    DialogService.Show("NotificationDialog", new DialogParameters($"message={message}"), r =>
                    {
                    });

                    await NavigationViewModel.LoadAsync();

                    return;
                }

                DetailViewModels.Add(detailViewModel);
            }

            SelectedDetailViewModel = detailViewModel;

            Log.VIEWMODEL("(DogMainViewModel) Exit", Common.LOG_APPNAME, startTicks);
        }
Esempio n. 5
0
        private async void OpenDetailView(OpenDetailViewEventArgs args)
        {
            Int64 startTicks = Log.EVENT("Enter", Common.LOG_APPNAME);

            await LoadAsync(args.Id);

            Log.EVENT("Exit", Common.LOG_APPNAME, startTicks);
        }
Esempio n. 6
0
        private void OnCreateNewDetailExecute(Type viewModelType)
        {
            var args = new OpenDetailViewEventArgs
            {
                ViewModelName = viewModelType.Name,
            };

            OnOpenDetailViewAsync(args);
        }
Esempio n. 7
0
        private void OnOpenDetailViewExecute()
        {
            var args = new OpenDetailViewEventArgs
            {
                Id            = Id,
                ViewModelName = _detailViewModelName
            };

            _eventAggregator.GetEvent <OpenDetailViewEvent>().Publish(args);
        }
Esempio n. 8
0
 private async void OnOpenDetailView(OpenDetailViewEventArgs args)
 {
     if (DetailViewModel != null && DetailViewModel.HasChanges)
     {
     }
     switch (args.ViewModelName)
     {
     case nameof(ProjectDetailViewModel):
         DetailViewModel = _projectDetailViewModelCreator();
         break;
     }
     await DetailViewModel.LoadAsync(args.Id);
 }
Esempio n. 9
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            if (DetailViewModel != null && DetailViewModel.HasChanges)
            {
                var result = _messageDialogService.ShowOkCancelDialog("You've made changes. Navigate away?", "Question");
                if (result == MessageDialogResult.Cancel)
                {
                    return;
                }
            }

            DetailViewModel = _detailViewModelCreator[args.ViewModelName];
            await DetailViewModel.LoadAsync(args.Id);
        }
Esempio n. 10
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            var detailViewModel = DetailViewModels.SingleOrDefault(m => m.Id == args.Id && m.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                detailViewModel = _gymClientDetailViewModelCreator[args.ViewModelName];
                await detailViewModel.LoadAsync(args.Id);

                DetailViewModels.Add(detailViewModel);
            }

            SelectedDetailViewModel = detailViewModel;
        }
Esempio n. 11
0
        /*public IFriendDetailViewModel FriendDetailViewModel { get; }*/    // We don`t need set becouse we setup property directly into ctor, we bind it to friendView

        // WE DON`T NEED THIS IN MainViewModel
        //public ObservableCollection<Friend> Friends { get; set; }

        //public Friend SelectedFriend
        //{
        //    get { return _selectedFriend; }
        //    set
        //    {
        //        _selectedFriend = value;
        //        OnPropertyChanged();        // rise event handler; property name if automaticly passed from compiler via atribut in the method
        //    }
        //}

        // This method is called whenever user click item in navigation
        // If no one detailViewModel exist one is created by if statement
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            // args.Id contain Id of view that is clicked
            var detailViewModel = DetailViewModels
                                  .SingleOrDefault(vm => vm.Id == args.Id && vm.GetType().Name == args.ViewModelName);

            // If ViewModel did not exist in observable collection
            if (detailViewModel == null)
            {
                detailViewModel = _detailViewModelCreator[args.ViewModelName];
                try
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                catch
                {
                    await _messageDialogService.ShowInfoDialogAsync("Could not load the entity maybe it was deleted in the meantime by another user. The navigation is refreshed for you.");

                    await NavigationViewModel.LoadAsync();

                    return;
                }
                DetailViewModels.Add(detailViewModel);
            }

            // Logic if user change something and navigate from current detailView
            //if (SelectedDetailViewModel != null && SelectedDetailViewModel.HasChanges)
            //{
            //    var result = _messageDialogService.ShowOkCancelDialog("You've made changes. Navigate away?", "Question");
            //    if (result == MessageDialogResult.Cancel)
            //    {
            //        return;
            //    }
            //}
            //switch (args.ViewModelName)
            //{
            //    case nameof(FriendDetailViewModel):
            //        DetailViewModel = _friendDetailViewModelCreator();
            //        break;
            //    case nameof(MeetingDetailViewModel):
            //        DetailViewModel = _meetingDetailViewModelCreator();
            //        break;
            //    default:
            //        throw new Exception($"ViewModel {args.ViewModelName} not mapped");
            //}

            SelectedDetailViewModel = detailViewModel;
        }
Esempio n. 12
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            var detailViewModel = DetailViewModels
                                  .SingleOrDefault(vm => vm.Id == args.Id &&
                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                switch (args.ViewModelName)
                {
                case nameof(FriendDetailViewModel):
                    detailViewModel = _friendDetailViewModelCreator();
                    break;

                case nameof(MeetingDetailViewModel):
                    detailViewModel = _meetingDetailViewModelCreator();
                    break;

                case nameof(ProgrammingLanguageDetailViewModel):
                    detailViewModel = _programmingLanguageDetailViewModelCreator();
                    break;
                }

                // Verify item still exists (may have been deleted)

                try
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                catch
                {
                    _messageDialogService.ShowInfoDialog(
                        "Cannot load the entity, it may have been deleted" +
                        " by another user.  Updating Navigation");
                    await NavigationViewModel.LoadAsync();

                    return;
                }

                DetailViewModels.Add(detailViewModel);
            }

            SelectedDetailViewModel = detailViewModel;
        }
Esempio n. 13
0
        public async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            switch (args.ViewModelName)
            {
            case nameof(BGroupDetailedViewModel):
                if (DetailViewModel != null && DetailViewModel.HasChanges)
                {
                    var result = _messageDialogService.ShowOkCancelDialog("You've made changes. Navigate away?", "Question");
                    if (result == MessageDialogResult.Cancel)
                    {
                        return;
                    }
                }
                DetailViewModel = _bGroupsDetailedViewModelCreator();
                break;
            }

            await DetailViewModel.LoadAsync(args.Id);
        }
Esempio n. 14
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            if (DetailViewModel != null && DetailViewModel.HasChanges)
            {
                var result = _messageDialogService.ShowOkCancelDialog("Вы не все сохранили, вы уверены что хотите продолжить?", "Предупреждение");
                if (result == MessageDialogResult.Cancel)
                {
                    return;
                }
            }

            switch (args.ViewModelName)
            {
            case nameof(PatientCardDetailViewModel):
                DetailViewModel = _patientCardDetailViewModelCreator();
                break;
            }

            await DetailViewModel.LoadAsync(args.Id);
        }
        private async void OnOpenDetailView(OpenDetailViewEventArgs args) // making friendId nullable to support adding new friend.
        {
            var detailViewModel = DetailViewModels.SingleOrDefault(vm => vm.Id == args.Id &&
                                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                detailViewModel = _detailViewModelCreator[args.ViewModelName];
                await detailViewModel.LoadAsync(args.Id);

                DetailViewModels.Add(detailViewModel);
            }

            //if (SelectedDetailViewModel != null && SelectedDetailViewModel.HasChanges)
            //{
            //    MessageDialogResult result = _messageDialogService.ShowOkCancelDialog("You have made changes. Do you want to navigate away?", "Confirmation.");
            //    if (result== MessageDialogResult.Cancel)
            //    {
            //        return;
            //    }
            //}

            //switch(args.ViewModelName)
            //{
            //    case nameof(FriendDetailViewModel):
            //        DetailViewModel = _friendDetailViewModelCreator();
            //        break;

            //    case nameof(MeetingDetailViewModel):
            //        DetailViewModel = _meetingDetailViewModelCreator();
            //        break;
            //    default:
            //        throw new Exception($"ViewModel {args.ViewModelName} not mapped");
            //        break;

            //}

            SelectedDetailViewModel = detailViewModel;// _detailViewModelCreator[args.ViewModelName];

            //await SelectedDetailViewModel.LoadAsync(args.Id);
        }
Esempio n. 16
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            if (DetailViewModel != null && DetailViewModel.HasChanges)
            {
                var result = _messageDialogService.ShowOkCancelDialog("Changes were made, navigate away?",
                                                                      "Changes were made");
                if (result == MessageDialogResult.Cancel)
                {
                    return;
                }
            }

            switch (args.ViewModelName)
            {
            case nameof(FriendDetailViewModel):
                DetailViewModel = _friendDetailViewModelCreator();
                break;
            }
            DetailViewModel = _friendDetailViewModelCreator();
            await DetailViewModel.LoadAsync(args.Id);
        }
Esempio n. 17
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            //If you don't use a tabbed view
            //if (SelectedDetailViewModel!=null && SelectedDetailViewModel.HasChanges)
            //{
            //    var result = _messageDialogService.ShowOkCancelDialog("You've made changes. Navigate away", "Question");
            //    if (result== MessageDialogResult.Cancel)
            //    {
            //        return;
            //    }
            //}
            var detailViewModel = DetailViewModels.SingleOrDefault(vm => vm.Id == args.Id &&
                                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                //no tab is open
                detailViewModel = _detailViewModelCreator[args.ViewModelName];
                try
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                catch (Exception)
                {
                    await _messageDialogService.ShowInfoDialogAsync("Could not load the entity, " +
                                                                    "maybe it was deleted in the meantime by another user. " +
                                                                    "The navigation is refreshed for you");

                    await NavigationViewModel.LoadAsync();

                    return;
                }

                DetailViewModels.Add(detailViewModel);
            }

            SelectedDetailViewModel = detailViewModel;
        }
Esempio n. 18
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            var detailViewModel = DetailViewModels.SingleOrDefault(vm => vm.Id == args.Id &&
                                                                   vm.GetType().Name == args.ViewModelName);

            if (detailViewModel == null)
            {
                switch (args.ViewModelName)
                {
                case nameof(ProjectDetailViewModel):
                    detailViewModel = _projectDetailViewModelCreator();
                    break;

                case nameof(ProjectWorkspaceViewModel):
                    break;

                case nameof(ProjectWorkspaceListViewModel):
                    detailViewModel = _projectWokspaceListViewModelCreator();
                    break;

                case nameof(ProjectFilesListViewModel):
                    detailViewModel = _projectFilesListViewModelCreator();
                    break;

                default:
                    break;
                }
                if (detailViewModel != null)
                {
                    await detailViewModel.LoadAsync(args.Id);
                }
                DetailViewModels.Add(detailViewModel);
            }

            SelectedDetailViewModel = detailViewModel;
        }
Esempio n. 19
0
        private async void OnOpenDetailView(OpenDetailViewEventArgs args)
        {
            var lookup = await _projectRepository.GetByIdAsync(args.Id);

            SelectedProject = new ProjectWrapper(lookup);
        }
 private void OpenDetailView(OpenDetailViewEventArgs args)
 {
     OnOpenDetailView(args);
 }