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); }
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); }
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); }
private void OnCreateNewDetailExecute(Type viewModelType) { var args = new OpenDetailViewEventArgs { ViewModelName = viewModelType.Name, }; OnOpenDetailViewAsync(args); }
private void OnOpenDetailViewExecute() { var args = new OpenDetailViewEventArgs { Id = Id, ViewModelName = _detailViewModelName }; _eventAggregator.GetEvent <OpenDetailViewEvent>().Publish(args); }
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); }
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); }
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; }
/*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; }
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; }
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); }
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); }
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); }
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; }
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; }
private async void OnOpenDetailView(OpenDetailViewEventArgs args) { var lookup = await _projectRepository.GetByIdAsync(args.Id); SelectedProject = new ProjectWrapper(lookup); }
private void OpenDetailView(OpenDetailViewEventArgs args) { OnOpenDetailView(args); }