示例#1
0
        protected static string getMysql(FieldSettings f)
        {
            var dataType      = "";
            var defaultString = "";
            var notnull       = f.DataDbSettings.IsNotNull ? "NOT NULL" : "";

            if (f.DataDbSettings.SelectDataType.TypeValue == "char")
            {
                dataType      = "char(" + f.DataDbSettings.DataLength + ")";
                defaultString = "DEFAULT ''";
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "varchar")
            {
                dataType      = "varchar(" + f.DataDbSettings.DataLength + ")";
                defaultString = "DEFAULT ''";
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "datetime")
            {
                dataType      = "datetime";
                defaultString = "";
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "boolean")
            {
                dataType      = "tinyint(1) unsigned";
                defaultString = "DEFAULT '0'";
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "integer")
            {
                dataType      = "int(" + f.DataDbSettings.DataLength + ") unsigned";
                defaultString = "DEFAULT '0'";
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "file")
            {
                dataType      = "varchar(300)";
                defaultString = "DEFAULT ''";
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "json" || f.DataDbSettings.SelectDataType.TypeValue == "array" || f.DataDbSettings.SelectDataType.TypeValue == "text")
            {
                dataType      = "text";
                defaultString = "";
            }

            StringBuilder sb = new StringBuilder("");

            sb.AppendLine(@"  `" + f.FieldName + "` " + dataType + " " + notnull + " " + defaultString + " COMMENT '" + f.FieldComment + "',");
            return(sb.ToString());
        }
示例#2
0
        protected static string getReorganize(FieldSettings f)
        {
            StringBuilder sb = new StringBuilder("");

            if (f.DataDbSettings.SelectDataType.TypeValue == "datetime")
            {
                sb.AppendLine(@"        $data['" + f.FieldName + "'] = $this->changeToMongoDate($data['" + f.FieldName + "']);");
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "boolean")
            {
                sb.AppendLine(@"        $data['" + f.FieldName + "'] = $this->changeToBoolean($data['" + f.FieldName + "']);");
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "json" || f.DataDbSettings.SelectDataType.TypeValue == "array")
            {
                sb.AppendLine(@"        $data['" + f.FieldName + "'] = $this->changeToArray($data['" + f.FieldName + "']);");
            }
            return(sb.ToString());
        }
示例#3
0
 public void setSettings(FieldSettings objSettings)
 {
     this.objSettings = objSettings;
 }
示例#4
0
        protected static string getSchema(FieldSettings f)
        {
            var dataType = f.DataDbSettings.SelectDataType.TypeValue;

            if (f.DataDbSettings.SelectDataType.TypeValue == "varchar" || f.DataDbSettings.SelectDataType.TypeValue == "char" || f.DataDbSettings.SelectDataType.TypeValue == "text")
            {
                dataType = "string";
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "datetime")
            {
                f.DataDbSettings.DefaultValue = "getCurrentTime()";
                f.DataDbSettings.DataLength   = 19;
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "boolean")
            {
                if (string.IsNullOrEmpty(f.DataDbSettings.DefaultValue))
                {
                    f.DataDbSettings.DefaultValue = "false";
                }

                f.DataDbSettings.DataLength = 1;
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "integer")
            {
                if (string.IsNullOrEmpty(f.DataDbSettings.DefaultValue))
                {
                    f.DataDbSettings.DefaultValue = "0";
                }
                f.DataDbSettings.DataLength = 11;
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "file")
            {
                f.DataDbSettings.DataLength = 300;
            }

            if (f.DataDbSettings.SelectDataType.TypeValue == "json" || f.DataDbSettings.SelectDataType.TypeValue == "array" || f.DataDbSettings.SelectDataType.TypeValue == "text")
            {
                f.DataDbSettings.DataLength = 1024;
            }
            StringBuilder sb = new StringBuilder("");

            sb.AppendLine(@"$schemas['" + f.FieldName + "'] = array(");
            sb.AppendLine(@"    'name' => '" + f.FieldComment + "',");
            // 数据配置
            sb.AppendLine(@"    'data' => array(");
            sb.AppendLine(@"        'type' => '" + dataType + "',");
            if (f.DataDbSettings.SelectDataType.TypeValue == "datetime")
            {
                sb.AppendLine(@"        'defaultValue' => " + f.DataDbSettings.DefaultValue + ",");
            }
            else
            {
                sb.AppendLine(@"        'defaultValue' => '" + f.DataDbSettings.DefaultValue + "',");
            }
            if (f.DataDbSettings.SelectDataType.TypeValue == "file")
            {
                sb.AppendLine(@"        'file' => array(");
                sb.AppendLine(@"            'path' => $this->modelXXX->getUploadPath()");
                sb.AppendLine(@"        ),");
            }
            sb.AppendLine(@"        'length' => " + f.DataDbSettings.DataLength.ToString() + "");
            sb.AppendLine(@"    ),");
            sb.AppendLine(@"    'validation' => array(");
            sb.AppendLine(@"        'required' => " + f.DataFormSettings.IsRequire.ToString().ToLower() + "");
            sb.AppendLine(@"    ),");

            // 表单配置
            sb.AppendLine(@"    'form' => array(");
            if (f.DataFormSettings.SelectInputType.TypeValue != "partial")
            {
                if (f.DataFormSettings.SelectInputType.TypeValue == "image")
                {
                    sb.AppendLine(@"        'input_type' => 'file',");
                }
                else
                {
                    sb.AppendLine(@"        'input_type' => '" + f.DataFormSettings.SelectInputType.TypeValue + "',");
                }
            }
            else
            {
                sb.AppendLine(@"        'partial' => 'partials/empty',");
            }
            if (f.DataFormSettings.SelectInputType.TypeValue == "radio")
            {
                sb.AppendLine(@"        'items' => $this->trueOrFalseDatas,");
            }
            if (f.DataFormSettings.SelectInputType.TypeValue == "select" || f.DataFormSettings.SelectInputType.TypeValue == "select2")
            {
                sb.AppendLine(@"        'cascade' => '',");
                sb.AppendLine(@"        'items' => function() {");
                sb.AppendLine(@"            return $this->modelXXXX->getAll();");
                sb.AppendLine(@"        },");
                sb.AppendLine(@"        'select' => array(");
                sb.AppendLine(@"            'multiple' => " + f.DataFormSettings.SelectInputType.IsMultiple.ToString().ToLower() + ",");

                if (f.DataFormSettings.SelectInputType.TypeValue == "select2")
                {
                    sb.AppendLine(@"            'is_remote_load' => true,");
                    sb.AppendLine(@"            'apiUrl' => 'xx/xx/xx/xx'");
                }
                sb.AppendLine(@"        ),");
            }
            sb.AppendLine(@"        'is_show' => " + f.DataFormSettings.IsShow.ToString().ToLower() + "");
            sb.AppendLine(@"    ),");

            // 列表配置
            sb.AppendLine(@"    'list' => array(");
            if (f.DataDbSettings.SelectDataType.TypeValue == "boolean")
            {
                sb.AppendLine(@"        'list_type' => '1', ");
            }
            if (f.DataFormSettings.SelectInputType.TypeValue == "image")
            {
                sb.AppendLine(@"        'render' => 'img', ");
            }
            if (!string.IsNullOrEmpty(f.DataListSettings.Ajax))
            {
                sb.AppendLine(@"        'ajax' => '" + f.DataListSettings.Ajax + "', ");
            }
            if (f.DataFormSettings.SelectInputType.TypeValue == "select" || f.DataFormSettings.SelectInputType.TypeValue == "select2")
            {
                sb.AppendLine(@"        'list_data_name' => '" + f.FieldName + "_name',");
            }
            sb.AppendLine(@"        'is_show' => " + f.DataListSettings.IsShow.ToString().ToLower() + "");
            sb.AppendLine(@"    ),");

            // 检索配置
            sb.AppendLine(@"    'search' => array(");
            sb.AppendLine(@"        'input_type' => '" + f.DataSearchSettings.SelectInputType.TypeValue + "',");
            sb.AppendLine(@"        'condition_type' => '" + f.DataSearchSettings.SelectConditionType.TypeValue + "',");
            sb.AppendLine(@"        'defaultValues' => array(),");
            if (f.DataSearchSettings.SelectInputType.TypeValue == "select" || f.DataSearchSettings.SelectInputType.TypeValue == "select2")
            {
                sb.AppendLine(@"        'cascade' => '',");
                sb.AppendLine(@"        'items' => function() {");
                sb.AppendLine(@"            return $this->modelXXXX->getAll();");
                sb.AppendLine(@"        },");
            }
            sb.AppendLine(@"        'is_show' => " + f.DataSearchSettings.IsShow.ToString().ToLower() + "");
            sb.AppendLine(@"    ),");

            // 导出配置
            sb.AppendLine(@"    'export' => array(");
            sb.AppendLine(@"        'is_show' => " + f.DataExportSettings.IsShow.ToString().ToLower() + "");
            sb.AppendLine(@"    )");
            sb.AppendLine(@"); ");

            return(sb.ToString());
        }