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()); }
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()); }
public void setSettings(FieldSettings objSettings) { this.objSettings = objSettings; }
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()); }