Пример #1
0
        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);
        }
Пример #2
0
        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));
        }