예제 #1
0
        public string BuildEntity(BaseConfigModel baseConfigModel, DataTable dt)
        {
            // 读取模板
            var sb = ReadTemplet("Entity", baseConfigModel);

            #region 描述

            var describe = new StringBuilder();
            SetClassDescription("实体类", baseConfigModel, describe);
            sb = sb.Replace("{描述}", describe.ToString());

            #endregion

            #region 类名

            sb = sb.Replace("{类名}", baseConfigModel.FileConfig.EntityName);

            #endregion

            #region 表名称

            sb = sb.Replace("{表名称}", baseConfigModel.TableName);

            #endregion

            #region 字段

            var tableColum = new StringBuilder();
            var column     = string.Empty;
            var remark     = string.Empty;
            var datatype   = string.Empty;
            foreach (DataRow dr in dt.Rows)
            {
                column   = dr["TableColumn"].ToString();
                remark   = dr["Remark"].ToString();
                datatype = dr["Datatype"].ToString();
                datatype = TableMappingHelper.GetPropertyDatatype(datatype);
                tableColum.AppendLine("        /// <summary>");
                tableColum.AppendLine("        /// " + remark);
                tableColum.AppendLine("        /// </summary>");
                switch (datatype)
                {
                case "long?":
                    tableColum.AppendLine("        [JsonConverter(typeof(StringJsonConverter))]");
                    break;

                case "DateTime?":
                    tableColum.AppendLine("        [JsonConverter(typeof(DateTimeJsonConverter))]");
                    break;
                }

                tableColum.AppendLine("        public " + datatype + " " + column + " { get; set; }");
            }

            sb = sb.Replace("{字段}", tableColum.ToString());

            #endregion

            return(sb.ToString());
        }
예제 #2
0
        public string BuildService(BaseConfigModel baseConfigModel, DataTable dt)
        {
            // 读取模板
            var sb = ReadTemplet("Service", baseConfigModel);

            #region 描述

            var describe = new StringBuilder();
            SetClassDescription("服务类", baseConfigModel, describe);
            sb = sb.Replace("{描述}", describe.ToString());

            #endregion

            #region 类名

            sb = sb.Replace("{类名}", baseConfigModel.FileConfig.ServiceName);

            #endregion

            #region 表名称

            sb = sb.Replace("{表名称}", baseConfigModel.TableName);

            #endregion

            #region 实体类名

            sb = sb.Replace("{实体类名}", baseConfigModel.FileConfig.EntityName);
            sb = sb.Replace("{驼峰实体类名}", TextHelper.StrFirstCharToLower(baseConfigModel.FileConfig.EntityName));

            #endregion

            #region 查询类名

            sb = sb.Replace("{查询类名}", baseConfigModel.FileConfig.EntityParamName.Replace("Param", "ListParam"));

            #endregion

            #region 查询条件

            var condition = new StringBuilder();
            if (baseConfigModel.PageIndex.SearchField != null)
            {
                foreach (var serachStr in baseConfigModel.PageIndex.SearchField)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        var column   = dr["TableColumn"].ToString();
                        var remark   = dr["Remark"].ToString();
                        var datatype = dr["Datatype"].ToString();
                        if (column == serachStr)
                        {
                            condition.AppendLine("            // " + remark);
                            datatype = TableMappingHelper.GetPropertyDatatype(datatype);
                            switch (datatype)
                            {
                            case "long?":
                            case "int?":
                            case "decimal?":
                            case "DateTime?":
                            case "bool?":
                                condition.AppendLine("            if (param." + column + ".HasValue)");
                                condition.AppendLine("                query = query.Where(p => p." + column +
                                                     " == param." + column + ");");
                                break;

                            case "string":
                                condition.AppendLine("            if (!string.IsNullOrEmpty(param." + column + "))");
                                condition.AppendLine("                query = query.Where(p => p." + column +
                                                     ".Contains(param." + column + "));");
                                break;
                            }

                            break;
                        }
                    }
                }
            }

            sb = sb.Replace("{查询条件}", condition.ToString());

            #endregion

            return(sb.ToString());
        }
예제 #3
0
        public string BuildIndex(BaseConfigModel baseConfigModel, DataTable dt)
        {
            #region 初始化集合

            if (baseConfigModel.PageIndex.ButtonList == null)
            {
                baseConfigModel.PageIndex.ButtonList = new List <string>();
            }

            if (baseConfigModel.PageIndex.ColumnList == null)
            {
                baseConfigModel.PageIndex.ColumnList = new List <string>();
            }

            #endregion

            // 读取模板
            var sb = ReadTemplet("Index", baseConfigModel);


            #region 是否启用搜索

            if (baseConfigModel.PageIndex.IsSearch == 1)
            {
                sb = sb.Replace("{启用搜索}", "");
            }
            else
            {
                sb = sb.Replace("{启用搜索}", ".searchbar{ display:none; }");
            }

            #endregion

            #region 是否显示工具栏

            if (baseConfigModel.PageIndex.ButtonList.Where(p => p != "btnSearch").Any())
            {
                if (baseConfigModel.PageIndex.ButtonList.Where(p => p == "btnAdd").Any())
                {
                    sb = sb.Replace("{新增按钮}",
                                    "<a id=\"btnAdd\" class=\"layui-btn layui-btn-sm icon-btn\" lay-event=\"add\"><i class=\"layui-icon\">&#xe654;</i>新增</a>");
                }
                else
                {
                    sb = sb.Replace("{新增按钮}", "");
                }

                if (baseConfigModel.PageIndex.ButtonList.Where(p => p == "btnEdit").Any())
                {
                    sb = sb.Replace("{修改按钮}",
                                    "<a id=\"btnEdit\" class=\"layui-btn layui-btn-warm layui-btn-sm icon-btn\" lay-event=\"edit\"><i class=\"layui-icon\">&#xe642;</i>修改</a>");
                }
                else
                {
                    sb = sb.Replace("{修改按钮}", "");
                }

                if (baseConfigModel.PageIndex.ButtonList.Where(p => p == "btnDelete").Any())
                {
                    sb = sb.Replace("{删除按钮}",
                                    "<a id=\"btnDelete\" class=\"layui-btn layui-btn-danger layui-btn-sm icon-btn\" lay-event=\"del\"><i class=\"layui-icon\">&#xe640;</i>删除</a>");
                }
                else
                {
                    sb = sb.Replace("{删除按钮}", "");
                }
            }

            #endregion

            #region 表格列

            var columnList = new StringBuilder();
            foreach (var column in baseConfigModel.PageIndex.ColumnList)
            {
                var remark = string.Empty;
                foreach (DataRow dr in dt.Rows)
                {
                    if (column == dr["TableColumn"].ToString())
                    {
                        remark = dr["Remark"].ToString();
                        break;
                    }
                }

                remark = string.IsNullOrWhiteSpace(remark) ? column : remark;
                columnList.AppendLine("                    { field: '" + column + "', title: '" + remark +
                                      "', sort: true },");
            }

            sb = sb.Replace("{表格列}", columnList.ToString());

            #endregion

            #region 查询条件

            var condition = new StringBuilder();
            if (baseConfigModel.PageIndex.SearchField != null)
            {
                foreach (var serachStr in baseConfigModel.PageIndex.SearchField)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        var column   = dr["TableColumn"].ToString();
                        var remark   = dr["Remark"].ToString();
                        var datatype = dr["Datatype"].ToString();
                        if (column == serachStr)
                        {
                            if (string.IsNullOrWhiteSpace(remark))
                            {
                                remark = column;
                            }

                            condition.AppendLine("                        <div class=\"layui-inline\">");
                            condition.AppendLine("                            <label class=\"layui-form-label\">" + remark +
                                                 ":</label>");
                            condition.AppendLine("                            <div class=\"layui-input-inline\">");
                            datatype = TableMappingHelper.GetPropertyDatatype(datatype);
                            switch (datatype)
                            {
                            case "long?":
                            case "int?":
                            case "decimal?":
                                condition.AppendLine("                                <input name=\"" + column +
                                                     "\" class=\"layui-input\" placeholder=\"输入\" type=\"number\" />");
                                break;

                            default:
                                condition.AppendLine("                                <input name=\"" + column +
                                                     "\" class=\"layui-input\" placeholder=\"输入\" type=\"text\" />");
                                break;
                            }

                            condition.AppendLine("                            </div>");
                            condition.AppendLine("                        </div>");

                            break;
                        }
                    }
                }
            }

            sb = sb.Replace("{查询条件}", condition.ToString());

            #endregion

            return(sb.ToString());
        }
예제 #4
0
        public string BuildEntityParam(BaseConfigModel baseConfigModel, DataTable dt)
        {
            // 读取模板
            var sb = ReadTemplet("ListParam", baseConfigModel);

            #region 描述

            var describe = new StringBuilder();
            SetClassDescription("实体查询类", baseConfigModel, describe);
            sb = sb.Replace("{描述}", describe.ToString());

            #endregion

            #region 类名

            sb.Replace("{类名}", baseConfigModel.FileConfig.EntityParamName.Replace("Param", "ListParam"));

            #endregion

            #region 字段

            var tableColum = new StringBuilder();

            if (baseConfigModel.PageIndex.SearchField != null)
            {
                foreach (var serachStr in baseConfigModel.PageIndex.SearchField)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        var column   = dr["TableColumn"].ToString();
                        var remark   = dr["Remark"].ToString();
                        var datatype = dr["Datatype"].ToString();
                        if (column == serachStr)
                        {
                            datatype = TableMappingHelper.GetPropertyDatatype(datatype);
                            tableColum.AppendLine("        /// <summary>");
                            tableColum.AppendLine("        /// " + remark);
                            tableColum.AppendLine("        /// </summary>");
                            tableColum.AppendLine("        /// <returns></returns>");
                            switch (datatype)
                            {
                            case "long?":
                                tableColum.AppendLine("        [JsonConverter(typeof(StringJsonConverter))]");
                                break;

                            case "DateTime?":
                                tableColum.AppendLine("        [JsonConverter(typeof(DateTimeJsonConverter))]");
                                break;
                            }

                            tableColum.AppendLine("        public " + datatype + " " + column + " { get; set; }");

                            break;
                        }
                    }
                }
            }

            sb = sb.Replace("{字段}", tableColum.ToString());

            #endregion

            return(sb.ToString());
        }