Ejemplo n.º 1
0
 protected virtual string GetParameterTypeName(ActionFieldInfo actionFieldInfo)
 {
     if (actionFieldInfo.AllowNullable == true && !actionFieldInfo.TypeName.Equals("string", StringComparison.OrdinalIgnoreCase))
     {
         return("?");
     }
     return(null);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 从配置文件获取或重写输入参数
        /// </summary>
        /// <param name="sqlApi"></param>
        /// <param name="actionBuilderInfo"></param>
        protected virtual void SetActionInputFieldInfosFromConfig(IConfigurationSection sqlApi, ActionBuilderInfo actionBuilderInfo)
        {
            if (sqlApi.GetSection("Input:Parameter").Exists())
            {
                foreach (var par in sqlApi.GetSection("Input:Parameter").GetChildren())
                {
                    var name = par["Name"];
                    if (string.IsNullOrWhiteSpace(name))
                    {
                        continue;
                    }

                    var type            = par["Type"];
                    var defaultValue    = par["DefaultValue"];
                    var allowNullable   = par["AllowNullable"];
                    var actionFieldInfo = actionBuilderInfo.ActionInputInfo.ActionFieldInfos.FirstOrDefault(p => p.Name == name);

                    if (actionFieldInfo == null)
                    {
                        actionFieldInfo = new ActionFieldInfo()
                        {
                            Name = name
                        };
                        actionBuilderInfo.ActionInputInfo.ActionFieldInfos.Add(actionFieldInfo);
                    }

                    if (!string.IsNullOrWhiteSpace(type))
                    {
                        actionFieldInfo.TypeName = type;
                    }

                    if (!string.IsNullOrWhiteSpace(allowNullable))
                    {
                        actionFieldInfo.AllowNullable = Convert.ToBoolean(allowNullable);
                    }

                    if (!string.IsNullOrWhiteSpace(defaultValue))
                    {
                        actionFieldInfo.DefaultValue = defaultValue;
                    }
                }
            }
        }