public static TViewModel GetParentViewModel <TViewModel>(object viewModel) { ISupportParentViewModel parentViewModelSupport = viewModel as ISupportParentViewModel; if (parentViewModelSupport != null) { return((TViewModel)parentViewModelSupport.ParentViewModel); } return(default(TViewModel)); }
public async void Save() { try { await UnitOfWork.CommitChangesAsync(); } catch (LockingException) { MessageBoxService.ShowMessage("The object was modified by another user. Please reload data.", "XPO Tutorial", MessageButton.OK, MessageIcon.Stop); return; } ISupportParentViewModel spv = (ISupportParentViewModel)this; CustomerListViewModel vm = (CustomerListViewModel)spv.ParentViewModel; vm.Reload(); DocumentManagerService.ActiveDocument.Close(); }
public static void EnsureViewModel(object viewModel, object parentViewModel, object parameter = null) { ISupportParentViewModel parentViewModelSupport = viewModel as ISupportParentViewModel; if (parentViewModelSupport != null) { parentViewModelSupport.ParentViewModel = parentViewModel; } ISupportParameter parameterSupport = viewModel as ISupportParameter; if (parameterSupport != null && parameter != null) { parameterSupport.Parameter = parameter; } }
public static void EnsureModuleViewModel(object module, object parentViewModel, object parameter = null) { ISupportViewModel vm = module as ISupportViewModel; if (vm != null) { object oldParentViewModel = null; ISupportParentViewModel parentViewModelSupport = vm.ViewModel as ISupportParentViewModel; if (parentViewModelSupport != null) { oldParentViewModel = parentViewModelSupport.ParentViewModel; } EnsureViewModel(vm.ViewModel, parentViewModel, parameter); if (oldParentViewModel != parentViewModel) { vm.ParentViewModelAttached(); } } }