ActionMeta GetActionMeta(MethodInfo method) { var actionMeta = new ActionMeta(); #region name var actionName = method.Name; var attr = method.GetCustomAttributes(false).FirstOrDefault(p => p.GetType() == typeof(ApiSvcActionAttribute)) as ApiSvcActionAttribute; if (attr == null) { return(null); } if (!string.IsNullOrWhiteSpace(attr.ActionName)) { actionName = attr.ActionName.Trim(); } if (actionName == string.Empty) { actionName = method.Name; } actionMeta.Name = actionName; #endregion #region params var pars = actionMeta.Parameters = new List <ParameterMeta>(); foreach (var paramInfo in method.GetParameters()) { pars.Add(this.GetParameterMeta(paramInfo)); } #endregion actionMeta.Return = this.GetParameterMeta(method.ReturnParameter); return(actionMeta); }
public async Task <IActionResult> SetActionMeta(int id) { var data = await ApiClientFactory.Instance.GetAction(id); if (data == null) { return(NotFound()); } var metas = await ApiClientFactory.Instance.GetMetadatas(); ActionMeta model = new ActionMeta { Action = data, Metadatas = metas }; return(View(model)); }