/// <summary>
 /// 创建添加方法
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateAddFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 添加");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"model\"></param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns>插入返回Id</returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public int Add(").AppendFormat("{0}Model model)", model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            string sqlStr = @\"USE ").Append(model.DataBaseName);
     codeStr.Append(NewLine);
     codeStr.Append("                INSERT  INTO ").AppendFormat("{0}(", model.TableName);
     codeStr.Append(NewLine);
     StringBuilder addFieldBuilder = new StringBuilder();
     StringBuilder addParamBuilder = new StringBuilder();
     StringBuilder addParamValueBuilder = new StringBuilder();
     for (int i = 1; i < model.NameList.Count; i++)
     {
         //add字段
         addFieldBuilder.Append("                          ").Append(model.NameList[i]);
         addFieldBuilder.Append(i < model.NameList.Count - 1 ? " ," : " )");
         addFieldBuilder.Append(NewLine);
         //字段参数化
         addParamBuilder.Append("                          ").AppendFormat("@{0}", model.NameList[i]);
         addParamBuilder.Append(i < model.NameList.Count - 1 ? " ," : " )\";");
         addParamBuilder.Append(NewLine);
         //参数化值
         addParamValueBuilder.Append("               new SqlParameter(\"@")
             .AppendFormat("{0}\", model.{0})", model.NameList[i]);
         addParamValueBuilder.Append(i < model.NameList.Count - 1 ? " ," : string.Empty);
         addParamValueBuilder.Append(NewLine);
     }
     codeStr.Append(addFieldBuilder);
     codeStr.Append("                VALUES  (");
     codeStr.Append(NewLine);
     codeStr.Append(addParamBuilder);
     codeStr.Append("            SqlParameter[] parameters =");
     codeStr.Append(NewLine);
     codeStr.Append("            {");
     codeStr.Append(NewLine);
     codeStr.Append(addParamValueBuilder);
     codeStr.Append("            };");
     codeStr.Append(NewLine);
     codeStr.Append("            return ConvertHelper.ToInt(SqlHelper.ExecuteScalarText(sqlStr, parameters));");
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
Example #2
0
        /// <summary>
        /// 生成代码
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public override string CreateCode(CreateCodeRequestModel model)
        {
            StringBuilder codeStr = new StringBuilder();
            codeStr.Append("using System.Collections.Generic;");
            codeStr.Append(NewLine);
            codeStr.Append("using System.Data;");
            codeStr.Append(NewLine);
            codeStr.Append("using System.Data.SqlClient;");
            codeStr.Append(NewLine);
            codeStr.Append(NewLine);
            codeStr.AppendFormat("namespace {0}", model.NameSpace);
            codeStr.Append(NewLine);
            codeStr.Append("{");
            codeStr.Append(NewLine);
            codeStr.Append("    /// <summary>");
            codeStr.Append(NewLine);
            codeStr.Append("    /// ").AppendFormat("{0}Server", model.TableName);
            codeStr.Append(NewLine);
            codeStr.Append("    /// </summary>");
            codeStr.Append(NewLine);
            codeStr.Append("    public class ").AppendFormat("{0}Server", model.TableName);
            codeStr.Append(NewLine);
            codeStr.Append("    {");
            codeStr.Append(NewLine);
            codeStr.Append("        readonly ")
                .AppendFormat("{0}DataAccess _{1}DataAccess = new {0}DataAccess();", model.TableName,
                    model.TableName.ToLower());
            codeStr.Append(NewLine);

            //添加方法
            codeStr.Append(CreateAddFunction(model));
            //更新方法
            codeStr.Append(CreateUpdateFunction(model));
            //删除
            codeStr.Append(CreateDeleteFunction(model));
            //查询返回Table
            codeStr.Append(CreateSelectDataTableFunction(model));
            //查询返回List
            codeStr.Append(CreateSelectListFunction(model));
            //通过Id查询返回Table
            codeStr.Append(CreateSelectDataTableByIdFunction(model));
            //通过Id查询返回List
            codeStr.Append(CreateSelectListByIdFunction(model));

            codeStr.Append("    }");
            codeStr.Append(NewLine);
            codeStr.Append("}");
            codeStr.Append(NewLine);

            return codeStr.ToString();
        }
Example #3
0
 /// <summary>
 /// 创建添加方法
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateAddFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 添加");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"model\"></param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns>是否成功</returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public bool Add(").AppendFormat("{0}Model model)", model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            return ").AppendFormat("_{0}DataAccess.Add(model);", model.TableName.ToLower());
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
Example #4
0
        /// <summary>
        /// 生成代码
        /// </summary>
        /// <returns></returns>
        public string CreateCode()
        {
            //参数接收
            string tableName = Request.Form["TableName"];
            string nameSpace = Request.Form["NameSpace"];
            string dataBaseName = Request.Form["DataBaseName"];
            List<string> nameList = new List<string>(Request.Form["Names"] == null ? new string[0] : Request.Form["Names"].Split('#'));
            List<string> typeList = new List<string>(Request.Form["Types"] == null ? new string[0] : Request.Form["Types"].Split('#'));
            List<string> defaultValueList = new List<string>(Request.Form["DefalutValues"] == null ? new string[0] : Request.Form["DefalutValues"].Split('#'));
            List<string> descriptionList = new List<string>(Request.Form["Descriptions"] == null ? new string[0] : Request.Form["Descriptions"].Split('#'));
            int codeType = ConvertHelper.ToInt(Request.Form["CodeType"]);

            //参数验证
            if (tableName == string.Empty || nameSpace == string.Empty)
            {
                return string.Empty;
            }
            if (nameList.Count != typeList.Count || nameList.Count != defaultValueList.Count ||
                descriptionList.Count != nameList.Count)
            {
                return string.Empty;
            }

            CreateCodeRequestModel requestModel = new CreateCodeRequestModel
            {
                NameList = nameList,
                TypeList = typeList,
                DefalutValueList = defaultValueList,
                DescriptionList = descriptionList,
                TableName = tableName,
                NameSpace = nameSpace,
                DataBaseName = dataBaseName
            };
            CreateCodeBase createCodeBase = CreateCodeFactory.CreateCodeClass<CreateCodeBase>(codeType);
            return createCodeBase == null ? string.Empty : createCodeBase.CreateCode(requestModel);
        }
Example #5
0
        /// <summary>
        /// 生成代码
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public override string CreateCode(CreateCodeRequestModel model)
        {
            StringBuilder codeStr = new StringBuilder();
            codeStr.Append("using System.Collections.Generic;");
            codeStr.Append(NewLine);
            codeStr.Append(NewLine);
            codeStr.AppendFormat("namespace {0}", model.NameSpace);
            codeStr.Append("{");
            codeStr.Append(NewLine);
            codeStr.Append("    /// <summary>");
            codeStr.Append(NewLine);
            codeStr.Append("    /// ").AppendFormat("{0}Model",model.TableName);
            codeStr.Append(NewLine);
            codeStr.Append(@"    /// </summary>");
            codeStr.Append(NewLine);
            codeStr.Append("    public class ").AppendFormat("{0}Model", model.TableName);
            codeStr.Append(NewLine);
            codeStr.Append("    {");
            codeStr.Append(NewLine);

            //默认构造函数赋默认值
            if (!model.DefalutValueList.All(string.IsNullOrWhiteSpace))
            {
                codeStr.Append("        /// <summary>");
                codeStr.Append(NewLine);
                codeStr.Append("        /// 默认值");
                codeStr.Append(NewLine);
                codeStr.Append("        /// </summary>");
                codeStr.Append(NewLine);
                codeStr.Append("        public ").AppendFormat("{0}Model ()", model.TableName);
                codeStr.Append(NewLine);
                codeStr.Append("        {");
                codeStr.Append(NewLine);
                for (int i = 0; i < model.NameList.Count; i++)
                {
                    if (string.IsNullOrWhiteSpace(model.DefalutValueList[i]) || !DefaultValueDic.ContainsKey(model.DefalutValueList[i])) continue;
                    codeStr.Append("            ").AppendFormat("{0} = {1};", model.NameList[i], model.TypeList[i] == "bit" ?
                        ConvertHelper.ToBool(DefaultValueDic[model.DefalutValueList[i]]).ToString().ToLower()
                        : DefaultValueDic[model.DefalutValueList[i]]);
                    codeStr.Append(NewLine);
                }
                codeStr.Append("        }");
                codeStr.Append(NewLine);
                codeStr.Append(NewLine);
            }

            //参数
            for (int i = 0; i < model.NameList.Count; i++)
            {
                codeStr.Append("        /// <summary>");
                codeStr.Append(NewLine);
                codeStr.Append("        /// ").Append(model.DescriptionList[i]);
                codeStr.Append(NewLine);
                codeStr.Append("        /// </summary>");
                codeStr.Append(NewLine);
                codeStr.Append("        public ").AppendFormat("{0} {1} {{ get; set; }}", DataTypeDic.ContainsKey(model.TypeList[i])
                    ? DataTypeDic[model.TypeList[i]] : "string", model.NameList[i]);
                codeStr.Append(NewLine);
                if (i < model.NameList.Count - 1)
                {
                    codeStr.Append(NewLine);
                }
            }

            codeStr.Append("    }");
            codeStr.Append(NewLine);
            codeStr.Append("}");
            return codeStr.ToString();
        }
Example #6
0
 /// <summary>
 /// 创建查询方法,返回List
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateSelectListFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 查询");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"showStr\">查询字段</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"whereStr\">查询条件</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"parameters\">参数</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns>List</returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public List<")
         .AppendFormat("{0}Model> SelectList(string showStr, string whereStr, SqlParameter[] parameters)",
             model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            return ").AppendFormat("_{0}DataAccess.SelectList(showStr, whereStr, parameters);", model.TableName.ToLower());
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
Example #7
0
 /// <summary>
 /// 创建通过Id查询的方法,返回List
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateSelectListByIdFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 查询");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"id\">Id</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns>List</returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public List<").AppendFormat("{0}Model> SelectList(int id)", model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            return ").AppendFormat("_{0}DataAccess.SelectList(id);", model.TableName.ToLower());
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
Example #8
0
 /// <summary>
 /// 创建删除方法
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateDeleteFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 删除");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"id\"></param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns></returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public bool Delete(int id)");
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            return ").AppendFormat("_{0}DataAccess.Delete(id);", model.TableName.ToLower());
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
 /// <summary>
 /// 创建更新方法
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateUpdateFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 更新");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"model\"></param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns>是否成功</returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public bool Update(").AppendFormat("{0}Model model)", model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            string sqlStr = @\"USE ").Append(model.DataBaseName);
     codeStr.Append(NewLine);
     codeStr.Append("                UPDATE  ").Append(model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("                SET");
     codeStr.Append(NewLine);
     StringBuilder editSetBuilder = new StringBuilder();
     StringBuilder editParamValueBuilder = new StringBuilder();
     for (int i = 0; i < model.NameList.Count; i++)
     {
         if (i > 0)
         {
             editSetBuilder.Append("                        ").AppendFormat("{0} = @{0}", model.NameList[i]);
             editSetBuilder.Append(i < model.NameList.Count - 1 ? " ," : string.Empty);
             editSetBuilder.Append(NewLine);
         }
         editParamValueBuilder.Append("                new SqlParameter(\"@")
             .AppendFormat("{0}\",model.{0})", model.NameList[i]);
         editParamValueBuilder.Append(i < model.NameList.Count - 1 ? "," : string.Empty);
         editParamValueBuilder.Append(NewLine);
     }
     codeStr.Append(editSetBuilder);
     codeStr.Append("                WHERE   Id = @Id\";");
     codeStr.Append(NewLine);
     codeStr.Append("            SqlParameter[] parameters =");
     codeStr.Append(NewLine);
     codeStr.Append("            {");
     codeStr.Append(NewLine);
     codeStr.Append(editParamValueBuilder);
     codeStr.Append("            };");
     codeStr.Append(NewLine);
     codeStr.Append("            return SqlHelper.ExecteNonQueryText(sqlStr, parameters) > 0;");
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
 /// <summary>
 /// 创建查询方法,返回Table
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateSelectDataTableFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 查询");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"showStr\">查询字段</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"whereStr\">查询条件</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"parameters\">参数</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns>DataTable</returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public DataTable SelectDataTable(string showStr, string whereStr, SqlParameter[] parameters)");
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            string sqlStr = string.Format(@\"USE ").Append(model.DataBaseName);
     codeStr.Append(NewLine);
     codeStr.Append("                SELECT  {0}");
     codeStr.Append(NewLine);
     codeStr.Append("                FROM ").Append(model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("                WHERE   {1}\", showStr, whereStr);");
     codeStr.Append(NewLine);
     codeStr.Append("            return SqlHelper.ExecteDataTableText(sqlStr, parameters);");
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
 /// <summary>
 /// 创建通过Id查询的方法,返回DataTable
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateSelectDataTableByIdFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 查询");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"id\">Id</param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns>DataTable</returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public DataTable SelectDataTable(int id)");
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.Append("            string sqlStr = @\"USE ").Append(model.DataBaseName);
     codeStr.Append(NewLine);
     codeStr.Append("                SELECT");
     codeStr.Append(NewLine);
     for (int i = 0; i < model.NameList.Count; i++)
     {
         codeStr.Append("                        ").Append(model.NameList[i]);
         codeStr.Append(i < model.NameList.Count - 1 ? " ," : string.Empty);
         codeStr.Append(NewLine);
     }
     codeStr.Append("                FROM    ").Append(model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("                WHERE   Id = @Id\";");
     codeStr.Append(NewLine);
     codeStr.Append("            SqlParameter[] parameters =");
     codeStr.Append(NewLine);
     codeStr.Append("            {");
     codeStr.Append(NewLine);
     codeStr.Append("                new SqlParameter(\"@Id\",id)");
     codeStr.Append(NewLine);
     codeStr.Append("            };");
     codeStr.Append(NewLine);
     codeStr.Append("            return SqlHelper.ExecteDataTableText(sqlStr, parameters);");
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }
 /// <summary>
 /// 创建删除方法
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private StringBuilder CreateDeleteFunction(CreateCodeRequestModel model)
 {
     StringBuilder codeStr = new StringBuilder();
     codeStr.Append(NewLine);
     codeStr.Append("        /// <summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// 删除");
     codeStr.Append(NewLine);
     codeStr.Append("        /// </summary>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <param name=\"id\"></param>");
     codeStr.Append(NewLine);
     codeStr.Append("        /// <returns></returns>");
     codeStr.Append(NewLine);
     codeStr.Append("        public bool Delete(int id)");
     codeStr.Append(NewLine);
     codeStr.Append("        {");
     codeStr.Append(NewLine);
     codeStr.AppendFormat("            string sqlStr = @\"USE ").Append(model.DataBaseName);
     codeStr.Append(NewLine);
     codeStr.Append("                DELETE  FROM ").Append(model.TableName);
     codeStr.Append(NewLine);
     codeStr.Append("                WHERE   Id = @Id\";");
     codeStr.Append(NewLine);
     codeStr.Append("            SqlParameter[] parameters =");
     codeStr.Append(NewLine);
     codeStr.Append("            {");
     codeStr.Append(NewLine);
     codeStr.Append("                new SqlParameter(\"@Id\",id)");
     codeStr.Append(NewLine);
     codeStr.Append("            };");
     codeStr.Append(NewLine);
     codeStr.Append("            return SqlHelper.ExecteNonQueryText(sqlStr, parameters) > 0;");
     codeStr.Append(NewLine);
     codeStr.Append("        }");
     codeStr.Append(NewLine);
     return codeStr;
 }