public static List <ActionLinkDefinition> GetEntityActions() { var entitiesActions = DBService.Query("select * from t_entityactions"); var l = new List <ActionLinkDefinition>(); foreach (var dbO in entitiesActions) { var action = new ActionLinkDefinition() { Id = dbO.Get("id", 0), ActionId = "ACT_ENTITY_" + dbO.Get("id", 0).ToString(), ActionType = (ActionType)dbO.Get("actiontype", 0), EntityId = dbO.Get("entityid", 0), Viewtype = (EntityLayoutType)dbO.Get("viewtype", 0), Text = dbO.Get("text", ""), Action = dbO.Get("action", ""), ExecType = ActionExecutionType.Redirect }; action.QueryParam = EvalParam.FromJson(dbO.Get("queryparam", String.Empty)); action.DataParam = EvalParam.FromJson(dbO.Get("dataparam", String.Empty)); if (action.EntityId.Code != 0) { action.Visibility = FilterExpression.BuildFromJson(action.EntityId, dbO.Get("visibility", String.Empty)); } if (action.ActionType == ActionType.Client) { action.ExecType = ActionExecutionType.Client; } else if (action.ActionType == ActionType.Function || action.ActionType == ActionType.Script || action.ActionType == ActionType.Print || action.ActionType == ActionType.Import) { action.ExecType = ActionExecutionType.Function; } else if (action.ActionType == ActionType.Save || action.ActionType == ActionType.SaveClose || action.ActionType == ActionType.SaveContinue || action.ActionType == ActionType.Update) { action.ExecType = ActionExecutionType.Function; } l.Add(action); } return(l); }
public static ActionInfo BuildActionFromDefinition(ActionLinkDefinition definition, FormContext context) { string url = definition.Action; if (definition.ActionType == ActionType.Function) { url = ""; } if (definition.ActionType != ActionType.Page) { url = GetUrlFromActionType(definition.ActionType); } url = string.Format("{0}{1}", context.Context.AppRoot, url); var q = context.RequestQuery.Clone(); if (definition.QueryParam != null && definition.QueryParam.Count > 0) { q = new RequestQueryString(); foreach (var p in definition.QueryParam) { q.Add(p.Name, ValueResolver.ResolveValue(context, p.Value).ToString()); } } var actionI = new ActionInfo(url, q, definition.ActionId); actionI.Title = definition.Text; actionI.ActionType = definition.ActionType; actionI.ExecutionType = definition.ExecType; if (definition.ActionType == ActionType.Function) { actionI.AddAttribute("Function", definition.Action); actionI.ExecutionType = ActionExecutionType.Custom; } return(actionI); }
public static ActionContext BuildWithDefinition(FormContext formContext, ActionLinkDefinition definition) { var cntxt = new ActionContext(formContext, definition.ActionType, definition.ActionId); return(cntxt); }