//constructors public AddinMainViewModel(EA.Repository Repository, IDialogService DialogService) { this.Repository = Repository; this.DialogService = DialogService; AboutCommand = new GalaSoft.MvvmLight.Command.RelayCommand(() => DialogService.ShowAboutDialog(new Model.MetadataModel.GoatAddinInformationModel())); EditAssociationCommand = new RelayCommandWithResult <EA.Connector, bool>( (connector) => { EditAssociation(connector, EditAssociationCommand); }, (connector) => { return(connector.MetaType == "Association" || connector.MetaType == "Aggregation"); } ); }
////////END OBSOLETE #endregion #region commands execution private void EditAssociation(EA.Connector EAConnector, RelayCommandWithResult <EA.Connector, bool> command) { //MVVM code //step 1: create new viewmodel //step 2: prepare data //step 3: call a command for editing an association var x = new AssociationViewModel.GoatAssociationViewModel(new Model.AssociationModel.GoatAssociationService(EAConnector, Repository), DialogService); x.EditAssociationCommand.Execute(this); command.Result = x.EditAssociationCommand.Result; return; }