public void ExecuteSimpleAction(ActionPortalEventArgs appArgs, Type objType, Type controllerType, string actionName) { // Open navigation item var nav = new NavigationHelper(); var controller = Activator.CreateInstance(controllerType) as ViewController; appArgs.ShowViewParameters.Controllers.Add(controller); nav.OpenNavigationItem(appArgs.Application, appArgs.ObjectSpace, appArgs.ShowViewParameters, objType); // Find action var action = (SimpleAction)controller.Actions[actionName]; if (action == null) { action = (SimpleAction)controller.Actions .Where(c => c.Caption == actionName) .FirstOrDefault(); } if (action == null) { throw new UserFriendlyException(string.Format( "Action '{0}' does not exist", actionName)); } nav.DoExecuteOnActivated(controller, action); }