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); }
public void ExecuteSimpleAction(ActionPortalEventArgs appArgs, string objTypeName, string controllerTypeName, string actionName) { Assembly asm = typeof(CashDiscipline.Module.BusinessObjects.SetOfBooks).Assembly; Type objType = asm.GetType(objTypeName); Type controllerType = asm.GetType(controllerTypeName); ExecuteSimpleAction(appArgs, objType, controllerType, actionName); }
public void ExecutePortalAction(ActionPortalEventArgs args, string actionName) { var actionPortal = ActionPortalList.Where(x => x.ActionName == actionName).FirstOrDefault(); if (actionPortal == null) { throw new UserFriendlyException(string.Format("Unrecognized action '{0}'", actionName)); } if (actionPortal.ExecutableAction == null) { throw new UserFriendlyException(string.Format("Action {0} is not implemented.", actionName)); } actionPortal.ExecutableAction(args); }
public void OpenNavigationItem(ActionPortalEventArgs appArgs, string objTypeName) { // Get type from full name Assembly asm = typeof(CashDiscipline.Module.BusinessObjects.SetOfBooks).Assembly; Type objType = asm.GetType(objTypeName); // otherwise, get type from short name if (objType == null) { objType = XpoTypesInfoHelper.GetTypesInfo().PersistentTypes.FirstOrDefault( x => x.Name == objTypeName).Type; } var nav = new NavigationHelper(); nav.OpenNavigationItem(appArgs.Application, appArgs.ObjectSpace, appArgs.ShowViewParameters, objType); }
//controllerTypeName = "CashDiscipline.Module.Controllers.Cash.CashFlowViewController" public void ExecuteChoiceActionByCaptionPath(ActionPortalEventArgs appArgs, string objTypeName, string controllerTypeName, string actionId, string captionPath) { Assembly asm = typeof(CashDiscipline.Module.BusinessObjects.SetOfBooks).Assembly; Type objType = asm.GetType(objTypeName); if (objType == null) { objType = XpoTypesInfoHelper.GetTypesInfo().PersistentTypes.FirstOrDefault( x => x.Name == objTypeName).Type; } Type controllerType = asm.GetType(controllerTypeName); ExecuteChoiceActionByCaptionPath(appArgs, objType, controllerType, actionId, captionPath); }
private void RunPortalAction(ShowViewParameters svp) { var softPortal = new CashDiscipline.Module.AppNavigation.ActionPortalLogic(); var hardPortal = new ActionPortalHardLogic(softPortal); var portalObj = View.CurrentObject as ActionPortal; if (portalObj == null) { return; } var appArgs = new CashDiscipline.Module.AppNavigation.ActionPortalEventArgs(Application, ObjectSpace, svp); switch (portalObj.ActionPortalType) { case ActionPortalType.Internal: hardPortal.ExecutePortalAction(appArgs, portalObj.ActionName); break; case ActionPortalType.ChoiceAction: softPortal.ExecuteChoiceActionByCaptionPath( appArgs, portalObj.ObjectType, portalObj.ControllerType, portalObj.ActionName, portalObj.ActionPath); break; case ActionPortalType.SimpleAction: softPortal.ExecuteSimpleAction( appArgs, portalObj.ObjectType, portalObj.ControllerType, portalObj.ActionName); break; case ActionPortalType.View: softPortal.OpenNavigationItem(appArgs, portalObj.ObjectType); break; } }
public void OpenNavigationItem(ActionPortalEventArgs appArgs, Type objType) { var nav = new NavigationHelper(); nav.OpenNavigationItem(appArgs.Application, appArgs.ObjectSpace, appArgs.ShowViewParameters, objType); }