public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; StringBuilder sb = new StringBuilder(); #region Model sb.AppendLine(" #region Model"); //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); sb.AppendLine(""); sb.AppendLine(@" /// <summary>"); sb.AppendLine(@" /// " + columnComment); sb.AppendLine(@" /// </summary>"); sb.AppendLine(" public " + columnType + nullable + " " + columnName + " { get; set; }"); } sb.AppendLine(""); sb.AppendLine(" #endregion Model"); SetData(tableName, sb); #endregion Model StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("using System;"); sb_body.AppendLine("using System.Collections.Generic;"); sb_body.AppendLine("using " + str_nameSpace + ".DTO.Data.Query;"); sb_body.AppendLine("using " + str_nameSpace + ".DTO.Query;"); sb_body.AppendLine(""); sb_body.AppendLine("namespace " + str_nameSpace + ".DTO." + tablePrefix + ".Query"); sb_body.AppendLine("{"); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// Dto:"+ tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public class " + tableName + "Dto"); sb_body.AppendLine(" {"); sb_body.AppendLine(""); sb_body.Append(sb.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" }"); sb_body.AppendLine("}"); string file_Model = "C:\\Code\\" + str_nameSpace + ".DTO\\" + tablePrefix + "\\Query"; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + "Dto" + ".cs", sb_body.ToString()); }
public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; StringBuilder sb_GetEditData = new StringBuilder(); StringBuilder sb_SetEditData = new StringBuilder(); StringBuilder sb_Table_Th = new StringBuilder(); StringBuilder sb_EditDiv = new StringBuilder(); StringBuilder sb_Formatter = new StringBuilder(); var listModel = CommonCode.GetTableModel(tableName); #region Model //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); string required = "true"; if (columnName == "Remark" || columnName == "SortIndex") { required = "false"; } var arr = new List <string> { "SysNo", "CreateDate", "UpdateDate", "Status", "Enable", "IsDeleted", "CreateUserID", "UpdateUserID", "IsDelete", }; if (!arr.Contains(columnName)) { if (columnType == "bool") { sb_GetEditData.AppendLine(" " + columnName + ": $(\"." + columnName + "\").combobox(\"getValue\"),"); sb_SetEditData.AppendLine(" $(\"." + columnName + "\").combobox(\"select\", row." + columnName + ");"); sb_Formatter.AppendLine(" function formatter" + columnName + "(value, row, index) {"); sb_Formatter.AppendLine(" if (value == true) {"); sb_Formatter.AppendLine(" return \"是\";"); sb_Formatter.AppendLine(" } else {"); sb_Formatter.AppendLine(" return \"否\";"); sb_Formatter.AppendLine(" }"); sb_Formatter.AppendLine(" return value;"); sb_Formatter.AppendLine(" }"); sb_Table_Th.AppendLine(" <th data-options=\"field:'" + columnName + "',width:100,align:'center',formatter:formatter" + columnName + "\">" + columnComment + "</th>"); sb_EditDiv.AppendLine(" <div class=\"layer_form_div\">"); sb_EditDiv.AppendLine(" <input class=\"easyui-combobox " + columnName + "\" name=\"" + columnName + "\" style=\"width: 300px;\" data-options=\"label:'" + columnComment + "',required:" + required + ",editable:false,valueField:'value',textField:'label',data:[{'value':true,label:'是',selected:true},{'value':false,label:'否'}],panelHeight:true\" />"); sb_EditDiv.AppendLine(" </div>"); sb_EditDiv.AppendLine(""); } else if (columnType == "DateTime") { sb_Table_Th.AppendLine(" <th data-options=\"field:'" + columnName + "',width:120,align:'center',formatter:fmDate\">" + columnComment + "</th>"); sb_GetEditData.AppendLine(" " + columnName + ": $(\"." + columnName + "\").textbox(\"getText\"),"); sb_SetEditData.AppendLine(" $(\"." + columnName + "\").textbox(\"setText\", fmDate(row." + columnName + "));"); sb_EditDiv.AppendLine(" <div class=\"layer_form_div\">"); sb_EditDiv.AppendLine(" <input class=\"easyui-datebox " + columnName + "\" name=\"" + columnName + "\" data-options=\"label:'" + columnComment + "',prompt:'请输入" + columnComment + "',required:" + required + ",validType:['length[1," + data_maxLength + "]'],missingMessage:'请输入" + columnComment + "'\" style=\"width: 300px;\" />"); sb_EditDiv.AppendLine(" </div>"); sb_EditDiv.AppendLine(""); } else { if (columnName.Length > 3 && columnName.Substring(columnName.Length - 2, 2) == "ID") { sb_Table_Th.AppendLine(" <th data-options=\"field:'" + columnName.Replace("ID", "Name") + "',width:100,align:'center'\">" + columnComment.Replace("ID", "") + "</th>"); string textField = GetTextField(listModel, columnName); sb_GetEditData.AppendLine(" " + columnName + ": $(\"." + columnName + "\").combobox(\"getValue\"),"); sb_SetEditData.AppendLine(" $(\"." + columnName + "\").combobox(\"select\", row." + columnName + ");"); sb_EditDiv.AppendLine(" <div class=\"layer_form_div\">"); sb_EditDiv.AppendLine(" <input class=\"easyui-combobox " + columnName + "\" name=\"" + columnName + "\" data-options=\"label:'" + columnComment.Replace("ID", "") + "',editable:false,valueField:'SysNo',textField:'" + textField + "',method:'get',url:'/Data/Get" + columnName.Replace("ID", "") + "List',panelHeight:200\" style=\"width: 300px;\" />"); sb_EditDiv.AppendLine(" </div>"); sb_EditDiv.AppendLine(""); } else { sb_Table_Th.AppendLine(" <th data-options=\"field:'" + columnName + "',width:100,align:'center'\">" + columnComment + "</th>"); sb_GetEditData.AppendLine(" " + columnName + ": $(\"." + columnName + "\").textbox(\"getText\"),"); sb_SetEditData.AppendLine(" $(\"." + columnName + "\").textbox(\"setText\", row." + columnName + ");"); if (columnName == "Remark") { sb_EditDiv.AppendLine(" <div class=\"layer_form_div\">"); sb_EditDiv.AppendLine(" <input class=\"easyui-textbox " + columnName + "\" name=\"" + columnName + "\" data-options=\"label:'" + columnComment + "',prompt:'请输入" + columnComment + "',required:" + required + ",validType:['length[1," + data_maxLength + "]'],missingMessage:'请输入" + columnComment + "',multiline:true\" style=\"width: 300px;height:100px;\" />"); sb_EditDiv.AppendLine(" </div>"); sb_EditDiv.AppendLine(""); } else { sb_EditDiv.AppendLine(" <div class=\"layer_form_div\">"); sb_EditDiv.AppendLine(" <input class=\"easyui-textbox " + columnName + "\" name=\"" + columnName + "\" data-options=\"label:'" + columnComment + "',prompt:'请输入" + columnComment + "',required:" + required + ",validType:['length[1," + data_maxLength + "]'],missingMessage:'请输入" + columnComment + "'\" style=\"width: 300px;\" />"); sb_EditDiv.AppendLine(" </div>"); sb_EditDiv.AppendLine(""); } } } } } #endregion Model StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("@{"); sb_body.AppendLine(" ViewBag.Title = \"" + tableDesc + "详情\";"); sb_body.AppendLine(" Layout = \"~/Views/Shared/_Layout.cshtml\";"); sb_body.AppendLine("}"); sb_body.AppendLine(""); sb_body.AppendLine("<script>"); sb_body.AppendLine(""); sb_body.AppendLine(" $(function () {"); sb_body.AppendLine(""); sb_body.AppendLine(" //加载表格"); sb_body.AppendLine(" grid(\"#dtGrid\", \"#dtGridToolber\");"); sb_body.AppendLine(""); sb_body.AppendLine(" //添加"); sb_body.AppendLine(" $(\"#add\").on(\"click\", function () {"); sb_body.AppendLine(" content(\"添加" + tableDesc + "\", \"insertRow\", true);"); sb_body.AppendLine(" });"); sb_body.AppendLine(""); sb_body.AppendLine(" //搜索"); sb_body.AppendLine(" $(\"#searchList\").on(\"click\", function () {"); sb_body.AppendLine(" $('#dtGrid').datagrid('load', GetQueryParams());"); sb_body.AppendLine(" });"); sb_body.AppendLine(""); sb_body.AppendLine(" //删除选中"); sb_body.AppendLine(" $('#remove').linkbutton({"); sb_body.AppendLine(" onClick: function () {"); sb_body.AppendLine(" var gridID = \"#dtGrid\";"); sb_body.AppendLine(" var rows = $(gridID).datagrid('getSelections');"); sb_body.AppendLine(""); sb_body.AppendLine(" if (rows.length > 0) {"); sb_body.AppendLine(" layer.alert(\"确定删除选中的" + tableDesc + "吗?\", {"); sb_body.AppendLine(" icon: 3,"); sb_body.AppendLine(" btn: ['确定', '取消'],"); sb_body.AppendLine(" yes: function (closeIndex) {"); sb_body.AppendLine(" deleSelected(gridID, rows, closeIndex);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" })"); sb_body.AppendLine(""); sb_body.AppendLine(" } else {"); sb_body.AppendLine(" layer.alert('请选择要删除的" + tableDesc + "', { icon: 0, time: 2000 });"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(" })"); sb_body.AppendLine(" });"); sb_body.AppendLine(""); sb_body.AppendLine(" //删除选中"); sb_body.AppendLine(" function deleSelected(gridID, rows, closeIndex) {"); sb_body.AppendLine(" var " + tableName + "Ids = new Array();"); sb_body.AppendLine(" for (var i = 0; i < rows.length; i++) {"); sb_body.AppendLine(" " + tableName + "Ids.push(rows[i].SysNo);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" var parm = {"); sb_body.AppendLine(" " + tableName + "Ids: " + tableName + "Ids,"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" var loadLayer = null;"); sb_body.AppendLine(" $.ajax({"); sb_body.AppendLine(" type: \"Post\","); sb_body.AppendLine(" url: \"Delete" + tableName + "\","); sb_body.AppendLine(" dataType: \"json\","); sb_body.AppendLine(" data: JSON.stringify(parm),"); sb_body.AppendLine(" contentType: \"application/json\","); sb_body.AppendLine(" beforeSend: function () {"); sb_body.AppendLine(" loadLayer = layer.load(2);"); sb_body.AppendLine(" },"); sb_body.AppendLine(" success: function (data) {"); sb_body.AppendLine(" layer.close(loadLayer);"); sb_body.AppendLine(" if (data.Success) {"); sb_body.AppendLine(" layer.close(closeIndex);"); sb_body.AppendLine(" //layer.msg(data.Message, { time: 1000, btn: ['关闭'] });"); sb_body.AppendLine(" $('#dtGrid').datagrid('reload');"); sb_body.AppendLine(" } else {"); sb_body.AppendLine(" layer.alert(data.Message);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(" });"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" //实例化表格"); sb_body.AppendLine(" function grid(id, toolbar) {"); sb_body.AppendLine(" $(id).datagrid({"); sb_body.AppendLine(" url: 'Get" + tableName + "Paging',"); sb_body.AppendLine(" method: 'get',"); sb_body.AppendLine(" height: \"100%\","); sb_body.AppendLine(" width: \"100%\","); sb_body.AppendLine(" autoRowHeight: true,"); sb_body.AppendLine(" fitColumns: true,"); sb_body.AppendLine(" collapsible: true,"); sb_body.AppendLine(" pagination: true,"); sb_body.AppendLine(" pageList: [10, 50, 100, 200, 500, 1000],"); sb_body.AppendLine(" pageSize: 100,"); sb_body.AppendLine(" queryParams: GetQueryParams(),"); sb_body.AppendLine(" striped: true,"); sb_body.AppendLine(" loading: true,"); sb_body.AppendLine(" singleSelect: false,"); sb_body.AppendLine(" //nowrap:true,"); sb_body.AppendLine(" //rownumbers: true,"); sb_body.AppendLine(" scrollbarSize: 0,"); sb_body.AppendLine(" toolbar: toolbar,"); sb_body.AppendLine(" onLoadSuccess: function (data) {"); sb_body.AppendLine(" if (data.total > 0) {"); sb_body.AppendLine(" //加载完成 实例化按钮"); sb_body.AppendLine(" handle_edit(id);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(" })"); sb_body.AppendLine(" };"); sb_body.AppendLine(""); sb_body.AppendLine(" //弹框"); sb_body.AppendLine(" function content(title, type, check, _index) {"); sb_body.AppendLine(" layer.open({"); sb_body.AppendLine(" type: 1,"); sb_body.AppendLine(" area: [],"); sb_body.AppendLine(" title: title,"); sb_body.AppendLine(" zIndex: 100,"); sb_body.AppendLine(" content: $(\"#Layer_" + tableName + "\"),"); sb_body.AppendLine(" btn: ['保存', '取消'],"); sb_body.AppendLine(" btn1: function (closeIndex) {"); sb_body.AppendLine(" submit(type, closeIndex);"); sb_body.AppendLine(" },"); sb_body.AppendLine(" btn2: function (closeIndex) {"); sb_body.AppendLine(" layer.close(closeIndex);"); sb_body.AppendLine(" },"); sb_body.AppendLine(" success: function () {"); sb_body.AppendLine(" if (check) {"); sb_body.AppendLine(" $(\"#Layer_Form_" + tableName + "\").form(\"reset\");"); sb_body.AppendLine(" } else {"); sb_body.AppendLine(" var rows = $('#dtGrid').datagrid('getRows');"); sb_body.AppendLine(" var row = rows[_index];"); sb_body.AppendLine(" SetEditData(row);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(" });"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" //弹框 提交表单"); sb_body.AppendLine(" function submit(type, closeIndex) {"); sb_body.AppendLine(""); sb_body.AppendLine(" $(\"#Layer_Form_" + tableName + "\").form(\"submit\", {"); sb_body.AppendLine(" onSubmit: function () {"); sb_body.AppendLine(" if ($(this).form(\"validate\")) {"); sb_body.AppendLine(" var loadLayer = null;"); sb_body.AppendLine(" $.ajax({"); sb_body.AppendLine(" url: \"Edit" + tableName + "\","); sb_body.AppendLine(" type: 'post',"); sb_body.AppendLine(" contentType: \"application/json\","); sb_body.AppendLine(" data: JSON.stringify(GetEditData(type)),"); sb_body.AppendLine(" beforeSend: function () {"); sb_body.AppendLine(" loadLayer = layer.load(2);"); sb_body.AppendLine(" },"); sb_body.AppendLine(" success: function (data) {"); sb_body.AppendLine(" layer.close(loadLayer);"); //sb_body.AppendLine(" data = $.parseJSON(data);"); sb_body.AppendLine(" if (!data.Success) {"); sb_body.AppendLine(" layer.alert(data.Message, { icon: 0, tiem: 1500 });"); sb_body.AppendLine(" return;"); sb_body.AppendLine(" }"); sb_body.AppendLine(" var rows = $(\"#dtGrid\").datagrid(\"getRows\");"); sb_body.AppendLine(" $(\"#dtGrid\").datagrid('loadData', rows);"); sb_body.AppendLine(" layer.close(closeIndex);//关闭面板"); sb_body.AppendLine(" $('#dtGrid').datagrid('reload');"); sb_body.AppendLine(" },"); sb_body.AppendLine(" error: function (s) {"); sb_body.AppendLine(""); sb_body.AppendLine(" }"); sb_body.AppendLine(" });"); sb_body.AppendLine(" } else {"); sb_body.AppendLine(" layer.alert(\"信息填写不完整\", { icon: 0, tiem: 1500 });"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(" });"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" //查询条件"); sb_body.AppendLine(" function GetQueryParams() {"); sb_body.AppendLine(" var parm = {"); sb_body.AppendLine(" " + tableName + "Name_Search: $('#" + tableName + "Name').val(),"); sb_body.AppendLine(" };"); sb_body.AppendLine(" return parm;"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" //提交数据"); sb_body.AppendLine(" function GetEditData(type) {"); sb_body.AppendLine(" var parm = {"); sb_body.AppendLine(" SysNo: type == \"updateRow\" ? $(\".SysNo\").textbox(\"getText\") : \"00000000-0000-0000-0000-000000000000\","); sb_body.AppendLine(sb_GetEditData.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" };"); sb_body.AppendLine(" return parm;"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" //编辑页面赋值"); sb_body.AppendLine(" function SetEditData(row) {"); sb_body.AppendLine(" $(\".SysNo\").textbox(\"setText\", row.SysNo);"); sb_body.AppendLine(sb_SetEditData.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" //格式化操作栏"); sb_body.AppendLine(" function formatterHandle(val, row, index) {"); sb_body.AppendLine(" var ops = \"\";"); sb_body.AppendLine(" ops += \"<a class='easyui-linkbutton style-primary edit'>编辑</a>\";"); sb_body.AppendLine(" return ops;"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" //编辑"); sb_body.AppendLine(" function handle_edit(id) {"); sb_body.AppendLine(" $(id).datagrid(\"getPanel\").find(\"tr .edit\").linkbutton({"); sb_body.AppendLine(" iconCls: 'icon iconfont icon-edit',"); sb_body.AppendLine(" onClick: function (item) {"); sb_body.AppendLine(" var EditIndex = $(this).parents(\"tr\").index();"); sb_body.AppendLine(" $(id).datagrid(\"selectRow\", EditIndex);"); sb_body.AppendLine(""); sb_body.AppendLine(" //var rows = $(id).datagrid('getRows');"); sb_body.AppendLine(" //var row = rows[EditIndex];"); sb_body.AppendLine(""); sb_body.AppendLine(" content(\"编辑" + tableDesc + "\", \"updateRow\", false, EditIndex);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" });"); sb_body.AppendLine(" }"); sb_body.AppendLine("</script>"); sb_body.AppendLine(""); sb_body.AppendLine("<body class=\"easyui-layout\">"); sb_body.AppendLine(" <div style=\"padding: 10px;\" id=\"dtGridToolber\">"); sb_body.AppendLine(" <input class=\"easyui-textbox\" style=\"width: 300px;\" id=\"" + tableName + "Name\" data-options=\"label:'" + tableDesc + "名称',prompt:'请输入" + tableDesc + "名称'\" />"); sb_body.AppendLine(""); sb_body.AppendLine(" <a id=\"searchList\" class=\"easyui-linkbutton style-primary\" style=\"margin: 0\" data-options=\"iconCls:'icon iconfont icon-sousuo'\">搜索</a>"); sb_body.AppendLine(" <a id=\"remove\" class=\"easyui-linkbutton style-red\" style=\"float: right;margin: 0 5px 0 0;\" data-options=\"iconCls:'icon iconfont icon-delete2'\">删除选中</a>"); sb_body.AppendLine(" <a id=\"add\" class=\"easyui-linkbutton style-blue\" style=\"float: right;margin: 0 5px 0 0;\" data-options=\"iconCls:'icon iconfont icon-tianjia1'\">添加" + tableDesc + "</a>"); sb_body.AppendLine(""); sb_body.AppendLine(" </div>"); sb_body.AppendLine(" <table id=\"dtGrid\" scroll=\"on\">"); sb_body.AppendLine(" <thead>"); sb_body.AppendLine(" <tr>"); sb_body.AppendLine(" <th data-options=\"field:'ck',checkbox:true,fixed:true\"></th>"); sb_body.AppendLine(" <th data-options=\"field:'SysNo',width:100,align:'center',hidden:true\">编号</th>"); sb_body.AppendLine(sb_Table_Th.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" <th data-options=\"field:'CreateDate',width:120,align:'center',formatter:fmDate\">添加时间</th>"); sb_body.AppendLine(" <th data-options=\"field:'UpdateDate',width:120,align:'center',formatter:fmDate\">更新时间</th>"); sb_body.AppendLine(" <th data-options=\"field:'handle',width:100,align:'center',fixed:true,formatter:formatterHandle\">操作</th>"); sb_body.AppendLine(" </tr>"); sb_body.AppendLine(" </thead>"); sb_body.AppendLine(" </table>"); sb_body.AppendLine(""); sb_body.AppendLine(" <div id=\"Layer_" + tableName + "\" style=\"width: 600px;height: 400px;display: none;\">"); sb_body.AppendLine(" <form class=\"easyui-form\" id=\"Layer_Form_" + tableName + "\" style=\"width: 80%;margin: 20px auto;\">"); sb_body.AppendLine(" <div class=\"layer_form_div\" style=\"display:none\">"); sb_body.AppendLine(" <input class=\"easyui-textbox SysNo\" name=\"SysNo\" data-options=\"label:'编号'\" />"); sb_body.AppendLine(" </div>"); sb_body.AppendLine(sb_EditDiv.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" </form>"); sb_body.AppendLine(""); sb_body.AppendLine(" </div>"); sb_body.AppendLine(""); sb_body.AppendLine("</body>"); sb_body.AppendLine(""); string file_Model = "C:\\Code\\" + str_nameSpace + ".Web\\Views\\" + tablePrefix + "\\"; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + ".cshtml", sb_body.ToString()); }
public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; StringBuilder sb = new StringBuilder(); #region Model //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); sb.Append("\"" + columnName + "\", "); } string str = sb.ToString().Substring(0, sb.ToString().Length - 2); #endregion Model StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("using System;"); sb_body.AppendLine("using System.Collections.Generic;"); sb_body.AppendLine("using System.Linq;"); sb_body.AppendLine("using System.Text;"); sb_body.AppendLine("using System.Threading.Tasks;"); sb_body.AppendLine("using Lee.Command;"); sb_body.AppendLine("using Lee.Command.RDB;"); sb_body.AppendLine("using Lee.Command.UnitOfWork;"); sb_body.AppendLine("using Lee.Utility.Extension;"); sb_body.AppendLine("using " + str_nameSpace + ".DataAccessInterface." + tablePrefix + ";"); sb_body.AppendLine("using " + str_nameSpace + ".Entity." + tablePrefix + ";"); sb_body.AppendLine(""); sb_body.AppendLine("namespace " + str_nameSpace + ".DataAccess." + tablePrefix + ""); sb_body.AppendLine("{"); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 数据访问:" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public class " + tableName + "DataAccess : RdbDataAccess<" + tableName + "Entity>, I" + tableName + "DbAccess"); sb_body.AppendLine(" {"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 获取添加字段"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 获取添加字段"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" protected override string[] GetEditFields()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return new string[] { " + str + " };"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 获取查询字段"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 获取查询字段"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" protected override string[] GetQueryFields()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return new string[] { " + str + " };"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(" }"); sb_body.AppendLine("}"); string file_Model = "C:\\Code\\" + str_nameSpace + ".DataAccess\\" + tablePrefix + ""; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + "DataAccess" + ".cs", sb_body.ToString()); }
public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; bool isSortIndex = false; StringBuilder sb = new StringBuilder(); StringBuilder sb_search = new StringBuilder(); #region Model //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); if (columnType == "string") { sb.AppendLine(" if (!filter." + columnName + ".IsNullOrEmpty())"); sb.AppendLine(" {"); sb.AppendLine(" query.Equal<" + tableName + "Query>(c => c." + columnName + ", filter." + columnName + ");"); sb.AppendLine(" }"); sb_search.AppendLine(" if (!filter." + columnName + "_Search.IsNullOrEmpty())"); sb_search.AppendLine(" {"); sb_search.AppendLine(" query.Like<" + tableName + "Query>(c => c." + columnName + ", filter." + columnName + "_Search);"); sb_search.AppendLine(" }"); } else if (columnName == "IsDelete") { sb_search.AppendLine(""); sb_search.AppendLine(" query.Equal<" + tableName + "Query>(c => c." + columnName + ", false);"); sb_search.AppendLine(""); } else { sb.AppendLine(" if (filter." + columnName + ".HasValue)"); sb.AppendLine(" {"); sb.AppendLine(" query.Equal<" + tableName + "Query>(c => c." + columnName + ", filter." + columnName + ");"); sb.AppendLine(" }"); } if (columnName == "SortIndex") { isSortIndex = true; } } #endregion Model bool IsSetFilter = false; bool IsSaveHistory = true; StringBuilder sb2 = new StringBuilder(); var listModel = CommonCode.GetTableModel(tableName); if (listModel != null) { foreach (var item in listModel) { SetSB(sb2, item, tableName); if (item.IsSetFilter.HasValue) { IsSetFilter = item.IsSetFilter.Value; } if (item.IsSaveHistory.HasValue) { IsSaveHistory = item.IsSaveHistory.Value; } } } var tableModels = CommonCode.GetTableModel(tableName); foreach (var item in tableModels) { } StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("using System;"); sb_body.AppendLine("using System.Collections.Generic;"); sb_body.AppendLine("using System.Linq;"); sb_body.AppendLine("using System.Data.SqlClient;"); sb_body.AppendLine("using System.Transactions;"); sb_body.AppendLine("using Lee.Command.UnitOfWork;"); sb_body.AppendLine("using Lee.CQuery;"); sb_body.AppendLine("using Lee.CQuery.Paging;"); sb_body.AppendLine("using Lee.Utility;"); sb_body.AppendLine("using Lee.Utility.Extension;"); sb_body.AppendLine("using " + str_nameSpace + ".BusinessInterface." + tablePrefix + ";"); sb_body.AppendLine("using " + str_nameSpace + ".Domain." + tablePrefix + ".Model;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain." + tablePrefix + ".Service;"); sb_body.AppendLine("using " + str_nameSpace + ".DTO." + tablePrefix + ".Query.Filter;"); sb_body.AppendLine("using " + str_nameSpace + ".DTO." + tablePrefix + ".Cmd;"); sb_body.AppendLine("using " + str_nameSpace + ".DTO." + tablePrefix + ".Query;"); sb_body.AppendLine("using " + str_nameSpace + ".DTO.Query;"); sb_body.AppendLine("using " + str_nameSpace + ".Query." + tablePrefix + ";"); sb_body.AppendLine("using " + str_nameSpace + ".DTO.Bcl.Cmd;"); sb_body.AppendLine("using " + str_nameSpace + ".Enum;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain.Bcl.Service;"); sb_body.AppendLine("using " + str_nameSpace + ".Tools;"); sb_body.AppendLine("using " + str_nameSpace + ".Tools.Helper;"); sb_body.AppendLine("using " + str_nameSpace + ".Business.Common;"); sb_body.AppendLine(""); sb_body.AppendLine("namespace " + str_nameSpace + ".Business." + tablePrefix + ""); sb_body.AppendLine("{"); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 业务:" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public class " + tableName + "Business : I" + tableName + "Business"); sb_body.AppendLine(" {"); sb_body.AppendLine(" public " + tableName + "Business()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 保存"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 保存" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"saveInfo\">保存信息</param>"); sb_body.AppendLine(" /// <returns>执行结果</returns>"); sb_body.AppendLine(" public Result<" + tableName + "Dto> Save" + tableName + "(Save" + tableName + "CmdDto saveInfo)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" if (saveInfo == null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return Result<" + tableName + "Dto>.ErrorResult(\"没有指定任何要保存的信息\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(" using (var businessWork = UnitOfWork.Create())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" var saveResult = " + tableName + "Service.Save" + tableName + "(saveInfo." + tableName + ".MapTo<" + tableName + ">());"); sb_body.AppendLine(" if (!saveResult.Success)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return Result<" + tableName + "Dto>.ErrorResult(saveResult.Message);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" SaveHistory(saveInfo." + tableName + ", saveResult.Data.SysNo);"); sb_body.AppendLine(""); sb_body.AppendLine(" var commitResult = businessWork.Commit();"); sb_body.AppendLine(" Result<" + tableName + "Dto> result = null;"); sb_body.AppendLine(" if (commitResult.ExecutedSuccess)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" result = Result<" + tableName + "Dto>.SuccessResult(\"保存成功!\");"); sb_body.AppendLine(" result.Data = saveResult.Data.MapTo<" + tableName + "Dto>();"); sb_body.AppendLine(" }"); sb_body.AppendLine(" else"); sb_body.AppendLine(" {"); sb_body.AppendLine(" result = Result<" + tableName + "Dto>.ErrorResult(\"保存失败!\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(" return result;"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 批量保存" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"saveInfo\">保存信息</param>"); sb_body.AppendLine(" /// <returns>执行结果</returns>"); sb_body.AppendLine(" public Result SaveList" + tableName + "(Save" + tableName + "CmdDto saveInfo)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" if (saveInfo == null || saveInfo.List" + tableName + ".IsNullOrEmpty())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return Result.ErrorResult(\"没有指定任何要保存的信息\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" try"); sb_body.AppendLine(" {"); sb_body.AppendLine(" saveInfo.List" + tableName + ".Where(d => d.SysNo == Guid.Empty).ToList().ForEach(d => d.SysNo = Guid.NewGuid());"); sb_body.AppendLine(" var bulk = new SqlBulkTools.BulkOperations();"); sb_body.AppendLine(""); sb_body.AppendLine(" using (TransactionScope trans = new TransactionScope())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" using (SqlConnection conn = new SqlConnection(Keys.connectionString))"); sb_body.AppendLine(" {"); sb_body.AppendLine(" bulk.Setup<" + tableName + "CmdDto>()"); sb_body.AppendLine(" .ForCollection(saveInfo.List" + tableName + ")"); sb_body.AppendLine(" .WithTable(\"" + tablePrefix + "_" + tableName + "\")"); sb_body.AppendLine(" .AddAllColumns()"); sb_body.AppendLine(" .BulkInsertOrUpdate()"); sb_body.AppendLine(" .SetIdentityColumn(x => x.SysNo)"); sb_body.AppendLine(" .MatchTargetOn(x => x.SysNo)"); sb_body.AppendLine(" .Commit(conn);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" trans.Complete();"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); if (IsSaveHistory) { sb_body.AppendLine(" using (var businessWork = UnitOfWork.Create())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" foreach (var item in saveInfo.List" + tableName + ")"); sb_body.AppendLine(" {"); sb_body.AppendLine(" SaveHistory(item, item.SysNo);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" var commitResult = businessWork.Commit();"); sb_body.AppendLine(" }"); } sb_body.AppendLine(" return Result.SuccessResult(\"修改成功!\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(" catch (Exception ex)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" LogHelper.WriteError(ex);"); sb_body.AppendLine(" return Result.ErrorResult(\"修改失败!\" + ex.Message);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); //sb_body.AppendLine(" /// <summary>"); //sb_body.AppendLine(" /// 批量保存" + tableDesc); //sb_body.AppendLine(" /// </summary>"); //sb_body.AppendLine(" /// <param name=\"saveInfo\">保存信息</param>"); //sb_body.AppendLine(" /// <returns>执行结果</returns>"); //sb_body.AppendLine(" public Result SaveList" + tableName + "(Save" + tableName + "CmdDto saveInfo)"); //sb_body.AppendLine(" {"); //sb_body.AppendLine(" if (saveInfo == null || saveInfo.List" + tableName + ".IsNullOrEmpty())"); //sb_body.AppendLine(" {"); //sb_body.AppendLine(" return Result.ErrorResult(\"没有指定任何要保存的信息\");"); //sb_body.AppendLine(" }"); //sb_body.AppendLine(" using (var businessWork = UnitOfWork.Create())"); //sb_body.AppendLine(" {"); //sb_body.AppendLine(" var saveResult = " + tableName + "Service.SaveList" + tableName + "(saveInfo.List" + tableName + ".Select(c => c.MapTo<" + tableName + ">()));"); //sb_body.AppendLine(" if (!saveResult.Success)"); //sb_body.AppendLine(" {"); //sb_body.AppendLine(" return saveResult;"); //sb_body.AppendLine(" }"); //sb_body.AppendLine(""); //sb_body.AppendLine(" foreach (var item in saveInfo.List" + tableName + ")"); //sb_body.AppendLine(" {"); //sb_body.AppendLine(" SaveHistory(item, item.SysNo);"); //sb_body.AppendLine(" }"); //sb_body.AppendLine(""); //sb_body.AppendLine(" var commitResult = businessWork.Commit();"); //sb_body.AppendLine(" return commitResult.ExecutedSuccess ? Result.SuccessResult(\"修改成功\") : Result.ErrorResult(\"修改失败\");"); //sb_body.AppendLine(""); //sb_body.AppendLine(" }"); //sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 保存"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 获取"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 获取" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"filter\">查询条件</param>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" public " + tableName + "Dto Get" + tableName + "(" + tableName + "FilterDto filter)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" var " + tableName + " = " + tableName + "Service.Get" + tableName + "(CreateQueryObject(filter));"); sb_body.AppendLine(" return " + tableName + ".MapTo<" + tableName + "Dto>();"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 获取"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 获取列表"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 获取" + tableDesc + "列表"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"filter\">查询条件</param>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" public List<" + tableName + "Dto> Get" + tableName + "List(" + tableName + "FilterDto filter)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" var " + tableName + "List = " + tableName + "Service.Get" + tableName + "List(CreateQueryObject(filter));"); sb_body.AppendLine(" return " + tableName + "List.Select(c => c.MapTo<" + tableName + "Dto>()).ToList();"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 获取列表"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 获取分页"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 获取" + tableDesc + "分页"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"filter\">查询条件</param>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" public IPaging<" + tableName + "Dto> Get" + tableName + "Paging(" + tableName + "FilterDto filter)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" var " + tableName + "Paging = " + tableName + "Service.Get" + tableName + "Paging(CreateQueryObject(filter));"); sb_body.AppendLine(" return " + tableName + "Paging.Convert<" + tableName + ", " + tableName + "Dto>();"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 获取分页"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 删除"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 删除" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"deleteInfo\">删除信息</param>"); sb_body.AppendLine(" /// <returns>执行结果</returns>"); sb_body.AppendLine(" public Result Delete" + tableName + "(Delete" + tableName + "CmdDto deleteInfo)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" if (!deleteInfo.IsRealDeleted)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return Delete" + tableName + "2(deleteInfo);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 参数判断"); sb_body.AppendLine(""); sb_body.AppendLine(" if (deleteInfo == null || deleteInfo." + tableName + "Ids.IsNullOrEmpty())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return Result.ErrorResult(\"没有指定要删除的\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 参数判断"); sb_body.AppendLine(""); sb_body.AppendLine(" using (var businessWork = UnitOfWork.Create())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" var " + tableName + "s = deleteInfo." + tableName + "Ids.Select(c => " + tableName + ".Create" + tableName + "(c));"); sb_body.AppendLine(" var deleteResult = " + tableName + "Service.Delete" + tableName + "(" + tableName + "s);"); sb_body.AppendLine(" if (!deleteResult.Success)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return deleteResult;"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" SaveDeleteHistory(deleteInfo);"); sb_body.AppendLine(""); sb_body.AppendLine(" var commitResult = businessWork.Commit();"); sb_body.AppendLine(" return commitResult.ExecutedSuccess ? Result.SuccessResult(\"删除成功\") : Result.ErrorResult(\"删除失败\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 删除客户(假删除)"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"deleteInfo\"></param>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" public Result Delete" + tableName + "2(Delete" + tableName + "CmdDto deleteInfo)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" #region 参数判断"); sb_body.AppendLine(""); sb_body.AppendLine(" if (deleteInfo == null || deleteInfo." + tableName + "Ids.IsNullOrEmpty())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return Result.ErrorResult(\"没有指定要删除的\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 参数判断"); sb_body.AppendLine(""); sb_body.AppendLine(" try"); sb_body.AppendLine(" {"); sb_body.AppendLine(" var List" + tableName + " = deleteInfo." + tableName + "Ids.Select(c => " + tableName + ".Create" + tableName + "(c)).MapTo<List<" + tableName + "CmdDto>>();"); sb_body.AppendLine(" List" + tableName + ".ForEach(d => d.UpdateDate = DateTime.Now);"); sb_body.AppendLine(" List" + tableName + ".ForEach(d => d.UpdateUserID = deleteInfo.UpdateUserID);"); sb_body.AppendLine(" List" + tableName + ".ForEach(d => d.IsDelete = true);"); sb_body.AppendLine(""); sb_body.AppendLine(" var bulk = new SqlBulkTools.BulkOperations();"); sb_body.AppendLine(""); sb_body.AppendLine(" using (TransactionScope trans = new TransactionScope())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" using (SqlConnection conn = new SqlConnection(Keys.connectionString))"); sb_body.AppendLine(" {"); sb_body.AppendLine(" bulk.Setup<" + tableName + "CmdDto>()"); sb_body.AppendLine(" .ForCollection(List" + tableName + ")"); sb_body.AppendLine(" .WithTable(\"" + tablePrefix + "_" + tableName + "\")"); sb_body.AppendLine(" .AddColumn(d => d.UpdateDate)"); sb_body.AppendLine(" .AddColumn(d => d.UpdateUserID)"); sb_body.AppendLine(" .AddColumn(d => d.IsDelete)"); sb_body.AppendLine(" .BulkUpdate()"); sb_body.AppendLine(" .SetIdentityColumn(x => x.SysNo)"); sb_body.AppendLine(" .MatchTargetOn(x => x.SysNo)"); sb_body.AppendLine(" .Commit(conn);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" trans.Complete();"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); if (IsSaveHistory) { sb_body.AppendLine(" using (var businessWork = UnitOfWork.Create())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" SaveDeleteHistory(deleteInfo);"); sb_body.AppendLine(" var commitResult = businessWork.Commit();"); sb_body.AppendLine(" }"); } sb_body.AppendLine(""); sb_body.AppendLine(" return Result.SuccessResult(\"删除成功!\");"); sb_body.AppendLine(" }"); sb_body.AppendLine(" catch (Exception ex)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" LogHelper.WriteError(ex);"); sb_body.AppendLine(" return Result.ErrorResult(\"删除失败!\" + ex.Message);"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine(" #endregion 删除"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 历史记录"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 保存时,记录历史记录"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"saveInfo\"></param>"); sb_body.AppendLine(" /// <param name=\"SysNo\"></param>"); sb_body.AppendLine(" private static void SaveHistory(" + tableName + "CmdDto saveInfo, Guid SysNo)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" SaveHistoryCmdDto saveHistoryCmdDto = new SaveHistoryCmdDto()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" History = new HistoryCmdDto()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" OperationID = SysNo,"); sb_body.AppendLine(" OperationType = OperationTypeEnum." + tableName + ".ToString(),"); sb_body.AppendLine(" OperationName = saveInfo.SysNo == Guid.Empty ? OperationNameEnum.Add.ToString() : OperationNameEnum.Edit.ToString(),"); sb_body.AppendLine(" CreateUserID = saveInfo.UpdateUserID ?? Guid.Empty,"); sb_body.AppendLine(" }"); sb_body.AppendLine(" };"); sb_body.AppendLine(" HistoryService.SaveHistory(saveHistoryCmdDto.History.MapTo<Domain.Bcl.Model.History>());"); sb_body.AppendLine(""); sb_body.AppendLine(" LogHelper.WriteHistory(\"Save" + tableName + "\", JsonConvertHelper.SerializeObject(saveInfo), saveInfo.UpdateUserID);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 删除时,记录历史记录"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"deleteInfo\"></param>"); sb_body.AppendLine(" private void SaveDeleteHistory(Delete" + tableName + "CmdDto deleteInfo)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" foreach (var item in deleteInfo." + tableName + "Ids)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" SaveHistoryCmdDto saveHistoryCmdDto = new SaveHistoryCmdDto()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" History = new HistoryCmdDto()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" OperationID = item,"); sb_body.AppendLine(" OperationType = OperationTypeEnum." + tableName + ".ToString(),"); sb_body.AppendLine(" OperationName = OperationNameEnum.Delete.ToString(),"); sb_body.AppendLine(" CreateUserID = deleteInfo.UpdateUserID,"); sb_body.AppendLine(" }"); sb_body.AppendLine(" };"); sb_body.AppendLine(" HistoryService.SaveHistory(saveHistoryCmdDto.History.MapTo<Domain.Bcl.Model.History>());"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" LogHelper.WriteHistory(\"Delete" + tableName + "\", JsonConvertHelper.SerializeObject(deleteInfo), deleteInfo.UpdateUserID);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 历史记录"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 根据查询条件生成查询对象"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 根据查询条件生成查询对象"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"filter\">查询条件</param>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" private IQuery CreateQueryObject(" + tableName + "FilterDto filter)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" if (filter == null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return null;"); sb_body.AppendLine(" }"); sb_body.AppendLine(" IQuery query = QueryFactory.Create<" + tableName + "Query>(filter);"); sb_body.AppendLine(" if (!filter.SysNos.IsNullOrEmpty())"); sb_body.AppendLine(" {"); sb_body.AppendLine(" query.In<" + tableName + "Query>(c => c.SysNo, filter.SysNos);"); sb_body.AppendLine(" }"); sb_body.AppendLine(sb.ToString()); sb_body.AppendLine(""); if (IsSetFilter) { sb_body.AppendLine(" CommonSetFilter.SetFilter_" + tableName + "(filter, query);"); } sb_body.AppendLine(""); sb_body.AppendLine(" #region Search"); sb_body.AppendLine(""); sb_body.AppendLine(sb_search.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 数据加载"); sb_body.AppendLine(sb2.ToString()); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); if (isSortIndex) { sb_body.AppendLine(" query.Desc<" + tableName + "Query>(c => c.SortIndex);"); } sb_body.AppendLine(" query.Desc<" + tableName + "Query>(c => c.CreateDate);"); sb_body.AppendLine(" return query;"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion 根据查询条件生成查询对象"); sb_body.AppendLine(" }"); sb_body.AppendLine("}"); sb_body.AppendLine(""); string file_Model = "C:\\Code\\" + str_nameSpace + ".Business\\" + tablePrefix + ""; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + "Business.cs", sb_body.ToString()); }
public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; StringBuilder sb = new StringBuilder(); StringBuilder sb_ext = new StringBuilder(); StringBuilder sb_search = new StringBuilder(); SetData(tableName, sb_ext); StringBuilder sb_load = new StringBuilder(); var listModel = CommonCode.GetTableModel(tableName); if (listModel != null) { foreach (var item in listModel) { SetLoad(sb_load, item); } } #region Model sb.AppendLine(" #region Model"); //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); nullable = columnType == "string" ? "" : "?"; sb.AppendLine(""); sb.AppendLine(@" /// <summary>"); sb.AppendLine(@" /// " + columnComment); sb.AppendLine(@" /// </summary>"); sb.AppendLine(" public " + columnType + nullable + " " + columnName + " { get; set; }"); if (columnType == "string") { sb_search.AppendLine(""); sb_search.AppendLine(@" /// <summary>"); sb_search.AppendLine(@" /// " + columnComment); sb_search.AppendLine(@" /// </summary>"); sb_search.AppendLine(" public " + columnType + nullable + " " + columnName + "_Search { get; set; }"); } } sb.AppendLine(""); sb.AppendLine(" #endregion Model"); #endregion Model StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("using System;"); sb_body.AppendLine("using System.Collections.Generic;"); sb_body.AppendLine("using Lee.CQuery.Paging;"); sb_body.AppendLine(""); sb_body.AppendLine("namespace " + str_nameSpace + ".ViewModel." + tablePrefix + ".Filter"); sb_body.AppendLine("{"); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// FilterViewModel:" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public class " + tableName + "FilterViewModel: PagingFilter"); sb_body.AppendLine(" {"); sb_body.AppendLine(""); sb_body.Append(sb.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #region Search"); sb_body.Append(sb_search.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion Search"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 数据加载"); sb_body.AppendLine(""); sb_body.AppendLine(sb_load.ToString()); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 扩展"); sb_body.AppendLine(""); sb_body.AppendLine(sb_ext.ToString()); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(" }"); sb_body.AppendLine("}"); string file_Model = "C:\\Code\\" + str_nameSpace + ".ViewModel\\" + tablePrefix + "\\Filter"; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + "FilterViewModel" + ".cs", sb_body.ToString()); }
public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; int index = 0; StringBuilder sb = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); StringBuilder sb3 = new StringBuilder(); StringBuilder sb4 = new StringBuilder(); StringBuilder sb5 = new StringBuilder(); #region Model //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); var arr = new List <string> { "SysNo", "OutsideCode", "ShopID", "StatisticalDate", "Remark", "CreateDate", "UpdateDate", "CreateUserID", "UpdateUserID", }; if (!arr.Contains(columnName)) { if (columnType == "string") { sb2.AppendLine("model." + columnName + " = GetColumnValue(listColumn, listDesc, row, \"" + columnName + "\");"); sb4.AppendLine(" model." + columnName + " = GetColumnValue(listColumn, dr, \"" + columnName + "\");"); } else if (columnType == "DateTime") { string col = columnType[0].ToString().ToUpper(); col += columnType.Substring(1, columnType.Length - 1); sb2.AppendLine("model." + columnName + " = GetColumnValue(listColumn, listDesc, row, \"" + columnName + "\").StrTo" + col + "();"); sb4.AppendLine(" model." + columnName + " = GetColumnValue(listColumn, dr, \"" + columnName + "\").StrTo" + col + "();"); } else { string col = columnType[0].ToString().ToUpper(); col += columnType.Substring(1, columnType.Length - 1); sb2.AppendLine("model." + columnName + " = GetColumnValue(listColumn, listDesc, row, \"" + columnName + "\").StrTo" + col + "(-1);"); sb4.AppendLine(" model." + columnName + " = GetColumnValue(listColumn, dr, \"" + columnName + "\").StrTo" + col + "(-1);"); } sb3.AppendLine(" Map(m => m." + columnName + ").Name(\"" + columnComment + "\");"); sb5.AppendLine(" ExcelHelper.SetCellValue(sheet, thisRow, " + index + ", item." + columnName + ", cellStyle);"); ++index; } sb.AppendLine(" {"); sb.AppendLine(" \"ColumnName\": \""+ columnName + "\","); sb.AppendLine(" \"ColumnDesc\": \""+ columnComment + "\""); sb.AppendLine(" },"); } #endregion Model StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("["); sb_body.AppendLine(" {"); sb_body.AppendLine(" \"TableName\": \""+ tableName + "\","); sb_body.AppendLine(" \"List\": ["); sb_body.Append(sb.ToString()); sb_body.AppendLine(" ]"); sb_body.AppendLine(" }"); sb_body.AppendLine("]"); StringBuilder sb_body3 = new StringBuilder(); sb_body3.AppendLine("using BigDataAnalysis.DTO.Original.Cmd;"); sb_body3.AppendLine("using System;"); sb_body3.AppendLine("using System.Collections.Generic;"); sb_body3.AppendLine("using System.Linq;"); sb_body3.AppendLine("using System.Text;"); sb_body3.AppendLine("using System.Threading.Tasks;"); sb_body3.AppendLine(""); sb_body3.AppendLine("namespace BigDataAnalysis.DTO.CSVMap"); sb_body3.AppendLine("{"); sb_body3.AppendLine(" /// <summary>"); sb_body3.AppendLine(" /// CSVHeaderMap:" + tableDesc + ""); sb_body3.AppendLine(" /// </summary>"); sb_body3.AppendLine(" public class CSVHeaderMap_" + tableName + " : CsvHelper.Configuration.ClassMap<" + tableName + "CmdDto>"); sb_body3.AppendLine(" {"); sb_body3.AppendLine(" public CSVHeaderMap_" + tableName + "()"); sb_body3.AppendLine(" {"); sb_body3.AppendLine(sb3.ToString()); sb_body3.AppendLine(" }"); sb_body3.AppendLine(" }"); sb_body3.AppendLine("}"); sb_body3.AppendLine(""); string file_Model = "C:\\Code\\Json"; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + ".json", sb_body.ToString()); CommonCode.Save(file_Model + "/" + tableName + "_GetColumnValue.txt", sb2.ToString()); CommonCode.Save(file_Model + "/CSVHeaderMap_" + tableName + ".cs", sb_body3.ToString()); CommonCode.Save(file_Model + "/DT_" + tableName + ".txt", sb4.ToString()); CommonCode.Save(file_Model + "/Export_" + tableName + ".txt", sb5.ToString()); }
public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; StringBuilder sb = new StringBuilder(); #region Model sb.AppendLine(" #region Model"); //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); sb.AppendLine(""); sb.AppendLine(@" /// <summary>"); sb.AppendLine(@" /// " + columnComment); sb.AppendLine(@" /// </summary>"); //if (dr["nullable"].ToString().ToUpper().Trim() == "Y")//不為空 //{ // sb.AppendLine(@" [Required]"); //} //if (!string.IsNullOrEmpty(data_maxLength))//最大長度 //{ // sb.AppendLine(@" [StringLength(" + data_maxLength + ")]"); //} sb.AppendLine(" public " + columnType + nullable + " " + columnName); sb.AppendLine(" {"); sb.AppendLine(" get { return valueDic.GetValue<" + columnType + nullable + ">(\"" + columnName + "\"); }"); sb.AppendLine(" set { valueDic.SetValue(\"" + columnName + "\", value); }"); sb.AppendLine(" }"); } sb.AppendLine(""); sb.AppendLine(" #endregion Model"); #endregion Model StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("using System;"); sb_body.AppendLine("using System.Collections.Generic;"); sb_body.AppendLine("using Lee.Command;"); sb_body.AppendLine("using Lee.Utility.Extension;"); sb_body.AppendLine(""); sb_body.AppendLine("namespace " + str_nameSpace + ".Entity." + tablePrefix + ""); sb_body.AppendLine("{"); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// Entity:"+ tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" [Serializable]"); sb_body.AppendLine(" public class "+ tableName + "Entity:CommandEntity<" + tableName + "Entity>"); sb_body.AppendLine(" {"); sb_body.AppendLine(""); sb_body.Append(sb.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" }"); sb_body.AppendLine("}"); string file_Model = "C:\\Code\\" + str_nameSpace + ".Entity\\" + tablePrefix + ""; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + "Entity.cs", sb_body.ToString()); }
public void Create(string str_nameSpace, DataTable dt_tables, string tableName) { string tablePrefix = CommonCode.GetTablePrefix(tableName); tableName = CommonCode.GetTableName(tableName); string tableDesc = CommonCode.GetTableDesc(tableName); bool isPrimeKey = false; string primaryKey = ""; StringBuilder sb = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); StringBuilder sb3 = new StringBuilder(); #region Model //遍历每个字段 foreach (DataRow dr in dt_tables.Rows) { string columnName = dr["columnName"].ToString().Trim(); //字段名 string columnType = dr["columnType"].ToString().Trim(); //字段类型 string columnComment = dr["columnComment"].ToString().Trim(); //字段注释 string nullable = dr["nullable"].ToString().Trim(); //是否可空(Y是不为空,N是为空) string data_default = dr["data_default"].ToString().Trim(); //默認值 string data_maxLength = dr["char_col_decl_length"].ToString().Trim(); //最大長度 string bool_primaryKey = dr["primaryKey"].ToString().Trim(); //主键 值为Y或N if (bool_primaryKey.ToUpper() == "Y") //存在主键 { isPrimeKey = true; primaryKey = columnName.ToUpper(); } if (string.IsNullOrEmpty(columnComment)) { columnComment = columnName; } CommonCode.GetColumnType(ref columnType, ref data_default); nullable = CommonCode.GetNullable(columnType, nullable); sb.AppendLine(""); sb.AppendLine(@" /// <summary>"); sb.AppendLine(@" /// " + columnComment); sb.AppendLine(@" /// </summary>"); sb.AppendLine(" protected " + columnType + nullable + " _" + columnName + ";"); sb2.AppendLine(" /// <summary>"); sb2.AppendLine(" /// " + columnComment); sb2.AppendLine(" /// </summary>"); sb2.AppendLine(" public " + columnType + nullable + " " + columnName); sb2.AppendLine(" {"); sb2.AppendLine(" get { return _" + columnName + "; }"); sb2.AppendLine(" protected set { _" + columnName + " = value; }"); sb2.AppendLine(" }"); sb2.AppendLine(""); SetExcludePropertys(tableName, sb3, columnName); } StringBuilder sb_instance = new StringBuilder(); StringBuilder sb_instanceMethod = new StringBuilder(); StringBuilder sb_SetLazyMember = new StringBuilder(); StringBuilder sb_attribute = new StringBuilder(); var listModel = CommonCode.GetTableModel(tableName); if (listModel != null) { foreach (var item in listModel) { SetSB(sb, item); SetInstance(tableName, sb_instance, sb_instanceMethod, sb_SetLazyMember, item); SetAttribute(sb_attribute, item); } } #endregion Model StringBuilder sb_body = new StringBuilder(); sb_body.AppendLine("using System;"); sb_body.AppendLine("using System.Collections.Generic;"); sb_body.AppendLine("using System.Linq;"); sb_body.AppendLine("using Lee.CQuery;"); sb_body.AppendLine("using Lee.Domain.Aggregation;"); sb_body.AppendLine("using Lee.Utility;"); sb_body.AppendLine("using Lee.Utility.Extension;"); sb_body.AppendLine("using Lee.Utility.ValueType;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain.Model;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain.Service;"); sb_body.AppendLine("using " + str_nameSpace + ".Query;"); sb_body.AppendLine("using " + str_nameSpace + ".Query." + tablePrefix + ";"); sb_body.AppendLine("using " + str_nameSpace + ".Domain." + tablePrefix + ".Model;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain." + tablePrefix + ".Repository;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain." + tablePrefix + ".Service;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain.Repository;"); if (tablePrefix != "Data") { sb_body.AppendLine("using " + str_nameSpace + ".Domain.Data.Model;"); sb_body.AppendLine("using " + str_nameSpace + ".Domain.Data.Service;"); } sb_body.AppendLine(""); sb_body.AppendLine("namespace " + str_nameSpace + ".Domain." + tablePrefix + ".Model"); sb_body.AppendLine("{"); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// DomainModel:" + tableDesc); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public class " + tableName + " : AggregationRoot<" + tableName + ">"); sb_body.AppendLine(" {"); sb_body.AppendLine(" I" + tableName + "Repository " + tableName + "Repository = null;"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 字段"); sb_body.AppendLine(""); sb_body.AppendLine(sb.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 构造方法"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 实例化对象"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"SysNo\">编号</param>"); sb_body.AppendLine(" internal " + tableName + "(Guid? SysNo = null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" _SysNo = SysNo ?? Guid.Empty;"); sb_body.AppendLine(" " + tableName + "Repository = this.Instance<I" + tableName + "Repository>();"); sb_body.AppendLine(""); sb_body.AppendLine(sb_instance.ToString()); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(sb_instanceMethod.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 设置LazyMember"); sb_body.AppendLine(""); sb_body.AppendLine(sb_SetLazyMember.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 属性"); sb_body.AppendLine(""); sb_body.AppendLine(sb2.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(sb_attribute.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 方法"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 功能方法"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 保存"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 保存"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public override void Save()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" " + tableName + "Repository.Save(this);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 移除"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 移除"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public override void Remove()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" " + tableName + "Repository.Remove(this);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 初始化标识信息"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 初始化标识信息"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public override void InitPrimaryValue()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" base.InitPrimaryValue();"); sb_body.AppendLine(" _SysNo = Generate" + tableName + "Id();"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 内部方法"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 判断标识对象值是否为空"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 判断标识对象值是否为空"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" protected override bool PrimaryValueIsNone()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return _SysNo == Guid.Empty;"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 静态方法"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 生成一个编号"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 生成一个编号"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" public static Guid Generate" + tableName + "Id()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return Guid.NewGuid();"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 创建"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 创建一个对象"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"SysNo\">编号</param>"); sb_body.AppendLine(" /// <returns></returns>"); sb_body.AppendLine(" public static " + tableName + " Create" + tableName + "(Guid? SysNo = null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" SysNo = SysNo == Guid.Empty ? Generate" + tableName + "Id() : SysNo;"); sb_body.AppendLine(" return new " + tableName + "(SysNo);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 根据给定的对象更新当前信息"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 根据给定的对象更新当前信息"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <param name=\"" + tableName + "\">信息</param>"); sb_body.AppendLine(" /// <param name=\"excludePropertys\">排除更新的属性</param>"); sb_body.AppendLine(" public virtual void ModifyFromOther" + tableName + "(" + tableName + " " + tableName + ", IEnumerable<string> excludePropertys = null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" if (" + tableName + " == null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return;"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" CopyDataFromSimilarObject(" + tableName + ", excludePropertys);"); sb_body.AppendLine(" }"); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 从指定对象复制值"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 从指定对象复制值"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" /// <typeparam name=\"DT\">数据类型</typeparam>"); sb_body.AppendLine(" /// <param name=\"similarObject\">数据对象</param>"); sb_body.AppendLine(" /// <param name=\"excludePropertys\">排除不复制的属性</param>"); sb_body.AppendLine(" protected override void CopyDataFromSimilarObject<DT>(DT similarObject, IEnumerable<string> excludePropertys = null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" base.CopyDataFromSimilarObject<DT>(similarObject, excludePropertys);"); sb_body.AppendLine(" if (similarObject == null)"); sb_body.AppendLine(" {"); sb_body.AppendLine(" return;"); sb_body.AppendLine(" }"); sb_body.AppendLine(" excludePropertys = excludePropertys ?? new List<string>(0);"); sb_body.AppendLine(""); sb_body.AppendLine(" #region 复制值"); sb_body.AppendLine(""); sb_body.AppendLine(sb3.ToString()); sb_body.AppendLine(""); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(" }"); sb_body.AppendLine(" #endregion"); sb_body.AppendLine(""); sb_body.AppendLine(" /// <summary>"); sb_body.AppendLine(" /// 设置默认值"); sb_body.AppendLine(" /// </summary>"); sb_body.AppendLine(" public void SetDefaultValue()"); sb_body.AppendLine(" {"); sb_body.AppendLine(" CreateDate = DateTime.Now;"); sb_body.AppendLine(" IsDelete = false;"); sb_body.AppendLine(" }"); sb_body.AppendLine(" }"); sb_body.AppendLine("}"); sb_body.AppendLine(""); string file_Model = "C:\\Code\\" + str_nameSpace + ".Domain\\" + tablePrefix + "\\Model"; if (!Directory.Exists(file_Model)) { Directory.CreateDirectory(file_Model); } CommonCode.Save(file_Model + "/" + tableName + "" + ".cs", sb_body.ToString()); }