public static string CreateModelsCode(List <object> CreateInfo) { string NameSpace = CreateInfo[0].ToString(); //命名空间 string TableName = CreateInfo[1].ToString(); //表名 List <string> FeildName = CreateInfo[2] as List <string>; //表字段名称 List <string> FeildType = CreateInfo[3] as List <string>; //表字段类型 List <string> FeildLength = CreateInfo[4] as List <string>; //表字段长度 List <string> FeildIsNullable = CreateInfo[5] as List <string>; //表字段可空 List <string> FeildMark = CreateInfo[6] as List <string>; //表字段说明 List <string> FeildIsPK = CreateInfo[7] as List <string>; //表字段是否主键 List <string> FeildIsIdentity = CreateInfo[8] as List <string>; //表字段是否自增 string className = CreateInfo[9].ToString(); //获得类名 StringBuilder str = new StringBuilder(); str.Append("using System;" + "\r\n"); str.Append("\r\n"); //空间引用结束换行 #region 版权信息 //版权信息 str.Append(Info.CopyRight); str.Append("\r\n"); #endregion //添加命名空间 str.Append("namespace " + NameSpace + "\r\n"); str.Append("{" + "\r\n"); //添加实体类 str.Append("\t" + "/// <summary>" + "\r\n"); str.Append("\t" + "/// 实体类" + TableName + "(可添加属性说明)" + "\r\n"); str.Append("\t" + "/// </summary>" + "\r\n"); str.Append("\t" + "[Serializable]" + "\r\n"); str.Append("\t" + "public class " + className + "\r\n"); str.Append("\t" + "{" + "\r\n"); //添加构造方法 str.Append("\t\t" + "/// <summary>" + "\r\n"); str.Append("\t\t" + "/// 构造方法" + "\r\n"); str.Append("\t\t" + "/// </summary>" + "\r\n"); str.Append("\t\t" + "public " + className + "()" + "\r\n"); str.Append("\t\t" + "{}" + "\r\n" + "\r\n"); //添加私有属性行 for (int i = 0; i < FeildName.Count; i++) { str.Append("\t\t" + "private " + SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i]) + TypeConvert.RT_Nullable(FeildIsNullable[i]) + " _" + FeildName[i].ToLower() + ";\t\t//" + TypeConvert.RT_PK(FeildIsPK[i]) + FeildMark[i] + "\r\n"); } str.Append("\r\n");//换行 //添加私有属性的公有方法 for (int i = 0; i < FeildName.Count; i++) { str.Append("\t\t" + "/// <summary>" + "\r\n" + "\t\t" + "///" + FeildMark[i] + "\r\n" + "\t\t" + "/// </summary>" + "\r\n");//添加方法介绍 str.Append("\t\t" + "public " + SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i]) + TypeConvert.RT_Nullable(FeildIsNullable[i]) + " " + FeildName[i] + "\r\n"); str.Append("\t\t" + "{" + "\r\n"); str.Append("\t\t\t" + "set{_" + FeildName[i].ToLower() + "=value;}" + "\r\n"); str.Append("\t\t\t" + "get{return _" + FeildName[i].ToLower() + ";}" + "\r\n"); str.Append("\t\t}" + "\r\n"); } str.Append("\t" + "}" + "\r\n"); //public class } str.Append("}" + "\r\n"); //namespace class } return(str.ToString()); }
public static string CreateCode(Dictionary <string, dynamic> CreateCodeDic) { string usings = CreateCodeDic["Using"]; //Using string[] usingsArray = usings.Split(';'); string NameSpace = CreateCodeDic["NameSpace"]; //NameSpace string NameSpaceCommonPlus = CreateCodeDic["NameSpaceCommonPlus"]; //NameSpaceCommonPlus string DataBaseName = CreateCodeDic["DataBaseName"]; //DataBaseName string TableName = CreateCodeDic["TableName"]; //TableName string ClassName = CreateCodeDic["Class"]; //ClassName string ClassNamePlus = CreateCodeDic["ClassNamePlus"]; //ClassName Plus string ClassNameExtends = CreateCodeDic["ClassExtends"]; //ClassExtends if (!string.IsNullOrEmpty(ClassNameExtends)) { ClassNameExtends = ":" + ClassNameExtends; } string ClassNameAndExtends = ClassName + ClassNamePlus + ClassNameExtends; //Class whole name List <string> FeildName = CreateCodeDic["FeildName"]; //表字段名称 List <string> FeildType = CreateCodeDic["FeildType"]; //表字段类型 List <string> FeildLength = CreateCodeDic["FeildLength"]; //表字段长度 List <string> FeildIsNullable = CreateCodeDic["FeildIsNullable"]; //表字段可空 List <string> FeildDescription = CreateCodeDic["FeildDescription"]; //表字段说明 List <string> FeildIsPK = CreateCodeDic["FeildIsPK"]; //表字段是否主键 List <string> FeildIsIdentity = CreateCodeDic["FeildIsIdentity"]; //表字段是否自增 StringBuilder str = new StringBuilder(); //foreach (var item in usingsArray) //{ // if (usingsArray.Last().Equals(item)) // { // break; // } // str.Append($"{item};\r\n"); //} #region 版权信息 //版权信息 str.Append(Info.CopyRight); str.Append("\r\n"); #endregion //添加using str.Append("using System;\r\n"); str.Append("using QX_Frame.App.Base;\r\n"); str.Append("using QX_Frame.Bantina.Bankinate;\r\n"); str.Append("\r\n");//引用结束换行 //添加命名空间 str.Append($"namespace {NameSpace}{NameSpaceCommonPlus}\r\n"); str.Append("{" + "\r\n"); //添加实体类 str.Append("\t" + "/// <summary>" + "\r\n"); str.Append("\t" + $"/// public class {ClassName}\r\n"); str.Append("\t" + "/// </summary>" + "\r\n"); str.Append("\t" + "[Serializable]" + "\r\n"); str.Append("\t" + $"[Table(TableName = \"{ClassName}\")]" + "\r\n"); str.Append("\t" + $"public class {ClassName}: Entity<{DataBaseName}, {ClassName}>\r\n"); str.Append("\t" + "{" + "\r\n"); //添加构造方法 str.Append("\t\t" + "/// <summary>" + "\r\n"); str.Append("\t\t" + "/// construction method" + "\r\n"); str.Append("\t\t" + "/// </summary>" + "\r\n"); str.Append("\t\t" + "public " + ClassName + ClassNamePlus + "(){}" + "\r\n"); str.Append("\r\n"); //add filed for (int i = 0; i < FeildName.Count; i++) { //add description str.Append("\t\t" + $"//{ TypeConvert.RT_PK(FeildIsPK[i])} {FeildDescription[i]}" + "\r\n"); if (FeildIsPK[i].ToInt() == 1) { str.Append($"\t\t[Key]\r\n"); } else { str.Append($"\t\t[Column]\r\n"); } if (FeildIsIdentity[i].ToInt() == 1) { str.Append($"\t\t[AutoIncrease]\r\n"); } string IsNull = SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i]).Equals("String") ? "" : TypeConvert.RT_Nullable(FeildIsNullable[i]); str.Append("\t\t" + $"public {SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i])}{IsNull} {FeildName[i]} {"{ get;set; }"}" + "\r\n"); } str.Append("\t" + "}" + "\r\n"); //public class } str.Append("}" + "\r\n"); //namespace class } return(str.ToString()); }
public static string CreateCode(Dictionary <string, dynamic> CreateCodeDic) { string usings = CreateCodeDic["Using"]; //Using string[] usingsArray = usings.Split(';'); string NameSpace = CreateCodeDic["NameSpace"]; //NameSpace string NameSpaceCommonPlus = CreateCodeDic["NameSpaceCommonPlus"]; //NameSpaceCommonPlus string TableName = CreateCodeDic["TableName"]; //TableName string ClassName = CreateCodeDic["Class"]; //ClassName string ClassNamePlus = CreateCodeDic["ClassNamePlus"]; //ClassName Plus string ClassNameExtends = CreateCodeDic["ClassExtends"]; //ClassExtends if (!string.IsNullOrEmpty(ClassNameExtends)) { ClassNameExtends = ":" + ClassNameExtends; } string ClassNameAndExtends = ClassName + ClassNamePlus + ClassNameExtends; //Class whole name List <string> FeildName = CreateCodeDic["FeildName"]; //表字段名称 List <string> FeildType = CreateCodeDic["FeildType"]; //表字段类型 List <string> FeildLength = CreateCodeDic["FeildLength"]; //表字段长度 List <string> FeildIsNullable = CreateCodeDic["FeildIsNullable"]; //表字段可空 List <string> FeildDescription = CreateCodeDic["FeildDescription"]; //表字段说明 List <string> FeildIsPK = CreateCodeDic["FeildIsPK"]; //表字段是否主键 List <string> FeildIsIdentity = CreateCodeDic["FeildIsIdentity"]; //表字段是否自增 StringBuilder str = new StringBuilder(); //add filed str.Append($"{TableName} {GetFirstLowerStr(RemoveTB_(TableName))} = new {TableName}();\r\n"); for (int i = 0; i < FeildName.Count; i++) { str.Append($"{GetFirstLowerStr(RemoveTB_(TableName))}.{FeildName[i]} = default({SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i])}) ;\r\n"); } return(str.ToString()); }
public static string CreateControllersCode(List <object> CreateInfo) { string TableName = CreateInfo[0].ToString(); //表名 即类名 List <string> FeildName = CreateInfo[1] as List <string>; //表字段名称 List <string> FeildType = CreateInfo[2] as List <string>; //表字段类型 List <string> FeildLength = CreateInfo[3] as List <string>; //表字段长度 List <string> FeildIsNullable = CreateInfo[4] as List <string>; //表字段可空 List <string> FeildMark = CreateInfo[5] as List <string>; //表字段说明 List <string> FeildIsPK = CreateInfo[6] as List <string>; //表字段是否主键 List <string> FeildIsIdentity = CreateInfo[7] as List <string>; //表字段是否自增 Boolean[] MethodInfo = CreateInfo[8] as Boolean[]; //checkbox选项 string BLLclassName = CreateInfo[9].ToString(); //获得BLL层的类名 StringBuilder str = new StringBuilder(); #region 版权信息 //版权信息 str.Append(Info.CopyRight); str.Append("\r\n"); #endregion //判断是否需要 实例化对象 getForm if (MethodInfo[0]) { str.Append("\t" + TableName + " " + TableName + "Object = new " + TableName + "();" + "\r\n");//添加方法介绍 for (int i = 0; i < FeildName.Count; i++) { if (SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i].Trim()) == "Int32") { str.Append("\t" + TableName + "Object." + FeildName[i].Trim() + "=Convert.ToInt32(Request[\"" + FeildName[i].Trim() + "\"]);" + "\r\n"); } else { str.Append("\t" + TableName + "Object." + FeildName[i].Trim() + "=(" + SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i]) + ")Request[\"" + FeildName[i].Trim() + "\"];" + "\r\n"); } } str.Append("\r\n"); str.Append("\t" + "//time=DateTime.Now.ToString();" + "\r\n"); str.Append("\r\n"); } //判断是否需要 实例化对象自定义 if (MethodInfo[1]) { str.Append("\t" + TableName + " " + TableName + "Object = new " + TableName + "();" + "\r\n"); for (int i = 0; i < FeildName.Count; i++) { str.Append("\t" + TableName + "Object." + FeildName[i].Trim() + "=\"\";" + "\r\n"); } str.Append("\r\n"); str.Append("\t" + "//time=DateTime.Now.ToString();" + "\r\n"); str.Append("\r\n"); } //判断是否需要JsonResult if (MethodInfo[2]) { str.Append("\t" + "if (true)" + "\r\n"); str.Append("\t" + "{" + "\r\n"); str.Append("\t\t" + "return Json(new { TFMark = true, Msg = \"操作成功!\"/*,result=*/ }, JsonRequestBehavior.AllowGet);" + "\r\n"); str.Append("\t" + "}" + "\r\n"); str.Append("\t" + "else" + "\r\n"); str.Append("\t" + "{" + "\r\n"); str.Append("\t\t" + "return Json(new { TFMark = false, Msg = \"操作失败,请检查信息!\" }, JsonRequestBehavior.AllowGet);" + "\r\n"); str.Append("\t" + "}" + "\r\n"); str.Append("\r\n"); } //判断是否需要带Try Catch 的JsonResult if (MethodInfo[3]) { str.Append("\t" + "try" + "\r\n"); str.Append("\t" + "{" + "\r\n"); str.Append("\t\t" + "if (true)" + "\r\n"); str.Append("\t\t" + "{" + "\r\n"); str.Append("\t\t\t" + "return Json(new { TFMark = true, Msg = \"操作成功!\"/*,result=*/ }, JsonRequestBehavior.AllowGet);" + "\r\n"); str.Append("\t\t" + "}" + "\r\n"); str.Append("\t\t" + "else" + "\r\n"); str.Append("\t\t" + "{" + "\r\n"); str.Append("\t\t\t" + "return Json(new { TFMark = false, Msg = \"操作失败,请检查信息!\" }, JsonRequestBehavior.AllowGet);" + "\r\n"); str.Append("\t\t" + "}" + "\r\n"); str.Append("\t" + "}" + "\r\n"); str.Append("\t" + "catch(Exception)" + "\r\n"); str.Append("\t" + "{" + "\r\n"); str.Append("\t\t" + "return Json(new { TFMark = false, Msg = \"操作失败,请检查信息!\" }, JsonRequestBehavior.AllowGet);" + "\r\n"); str.Append("\t" + "}" + "\r\n"); } return(str.ToString()); }
public static string CreateCode(Dictionary <string, dynamic> CreateCodeDic) { string usings = CreateCodeDic["Using"]; //Using string[] usingsArray = usings.Split(';'); string NameSpace = CreateCodeDic["NameSpace"]; //NameSpace string NameSpaceCommonPlus = CreateCodeDic["NameSpaceCommonPlus"]; //NameSpaceCommonPlus string TableName = CreateCodeDic["TableName"]; //TableName string ClassName = CreateCodeDic["Class"]; //ClassName string ClassNamePlus = CreateCodeDic["ClassNamePlus"]; //ClassName Plus string ClassNameExtends = CreateCodeDic["ClassExtends"]; //ClassExtends if (!string.IsNullOrEmpty(ClassNameExtends)) { ClassNameExtends = ":" + ClassNameExtends; } string ClassNameAndExtends = ClassName + ClassNamePlus + ClassNameExtends; //Class whole name List <string> FeildName = CreateCodeDic["FeildName"]; //表字段名称 List <string> FeildType = CreateCodeDic["FeildType"]; //表字段类型 List <string> FeildLength = CreateCodeDic["FeildLength"]; //表字段长度 List <string> FeildIsNullable = CreateCodeDic["FeildIsNullable"]; //表字段可空 List <string> FeildDescription = CreateCodeDic["FeildDescription"]; //表字段说明 List <string> FeildIsPK = CreateCodeDic["FeildIsPK"]; //表字段是否主键 List <string> FeildIsIdentity = CreateCodeDic["FeildIsIdentity"]; //表字段是否自增 StringBuilder str = new StringBuilder(); //foreach (var item in usingsArray) //{ // if (usingsArray.Last().Equals(item)) // { // break; // } // str.Append($"{item};\r\n"); //} #region 版权信息 //版权信息 str.Append(Info.CopyRight); str.Append("\r\n"); #endregion //添加using str.Append($"{usings}\r\n"); str.Append("\r\n");//引用结束换行 //添加命名空间 str.Append($"namespace {NameSpace}{NameSpaceCommonPlus}\r\n"); str.Append("{" + "\r\n"); //添加实体类 str.Append("\t" + "/// <summary>" + "\r\n"); str.Append("\t" + "///class " + ClassName + ClassNamePlus + "\r\n"); str.Append("\t" + "/// </summary>" + "\r\n"); str.Append("\t" + $"public class {ClassNameAndExtends}\r\n"); str.Append("\t" + "{" + "\r\n"); //添加构造方法 str.Append("\t\t" + "/// <summary>" + "\r\n"); str.Append("\t\t" + "/// construction method" + "\r\n"); str.Append("\t\t" + "/// </summary>" + "\r\n"); str.Append("\t\t" + "public " + ClassName + ClassNamePlus + "()" + "\r\n"); str.Append("\t\t" + "{}" + "\r\n" + "\r\n"); //add filed for (int i = 0; i < FeildName.Count; i++) { string IsNull = SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i]).Equals("String") ? "" : TypeConvert.RT_Nullable(FeildIsNullable[i]); str.Append("\t\t" + $"//{ TypeConvert.RT_PK(FeildIsPK[i])} {FeildDescription[i]}" + "\r\n"); str.Append("\t\t" + $"public {SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType, Options.Opt_Language.Net, FeildType[i])}{IsNull} {FeildName[i]} {"{ get;set; }"}" + "\r\n"); str.Append("\r\n");//换行 } str.Append("\t\t" + "//query condition // null default" + "\r\n"); str.Append("\t\t" + $"public override Expression<Func<{TableName}, bool>> QueryCondition {{get {{ return base.QueryCondition; }} set {{ base.QueryCondition = value; }} }}" + "\r\n"); str.Append("\r\n");//换行 str.Append("\t\t" + "//query condition func // true default //if QueryCondition != null this will be override !!!" + "\r\n"); str.Append("\t\t" + $"protected override Expression<Func<{TableName}, bool>> QueryConditionFunc()" + "\r\n"); str.Append("\t\t" + "{" + "\r\n"); str.Append("\t\t\t" + $"Expression<Func<{TableName}, bool>> func = t => true;" + "\r\n"); str.Append("\r\n");//换行 str.Append("\t\t\t" + $"if (!string.IsNullOrEmpty(\"\"))" + "\r\n"); str.Append("\t\t\t" + "{" + "\r\n"); str.Append("\t\t\t\t" + $"func = func.And(t => true);" + "\r\n"); str.Append("\t\t\t" + "}" + "\r\n"); str.Append("\r\n");//换行 str.Append("\t\t\t" + $"return func;" + "\r\n"); str.Append("\t\t" + "}" + "\r\n"); str.Append("\t" + "}" + "\r\n"); //public class } str.Append("}" + "\r\n"); //namespace class } return(str.ToString()); }
public static string CreateCode(Dictionary <string, dynamic> CreateCodeDic) { string usings = CreateCodeDic["Using"]; //Using string[] usingsArray = usings.Split(';'); string NameSpace = CreateCodeDic["NameSpace"]; //NameSpace string NameSpaceCommonPlus = CreateCodeDic["NameSpaceCommonPlus"]; //NameSpaceCommonPlus string TableName = CreateCodeDic["TableName"]; //TableName string ClassName = CreateCodeDic["Class"]; //ClassName string ClassNamePlus = CreateCodeDic["ClassNamePlus"]; //ClassName Plus string ClassNameExtends = CreateCodeDic["ClassExtends"]; //ClassExtends string ClassNameAndExtends = ClassName + ClassNamePlus + ClassNameExtends; //Class whole name List <string> FeildName = CreateCodeDic["FeildName"]; //表字段名称 List <string> FeildType = CreateCodeDic["FeildType"]; //表字段类型 List <string> FeildLength = CreateCodeDic["FeildLength"]; //表字段长度 List <string> FeildIsNullable = CreateCodeDic["FeildIsNullable"]; //表字段可空 List <string> FeildDescription = CreateCodeDic["FeildDescription"]; //表字段说明 List <string> FeildIsPK = CreateCodeDic["FeildIsPK"]; //表字段是否主键 List <string> FeildIsIdentity = CreateCodeDic["FeildIsIdentity"]; //表字段是否自增 StringBuilder str = new StringBuilder(); #region 版权信息 //版权信息 str.Append(Info.CopyRight); str.Append("\r\n"); #endregion //添加命名空间 str.Append($"package {NameSpace}{NameSpaceCommonPlus}\r\n"); str.Append("\r\n"); //添加using str.Append($"{usings}\r\n"); str.Append("\r\n");//引用结束换行 //添加实体类 str.Append($"public class {ClassName}{{\r\n"); //添加构造方法 str.Append("\t" + "/*" + "\r\n"); str.Append("\t" + " * construction method" + "\r\n"); str.Append("\t" + " */" + "\r\n"); str.Append("\t" + "public " + ClassName + ClassNamePlus + "(){}" + "\r\n"); //add filed for (int i = 0; i < FeildName.Count; i++) { str.Append("\t" + $"//{ TypeConvert.RT_PK(FeildIsPK[i])} {FeildDescription[i]}" + "\r\n"); str.Append("\t" + $"private {SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType,Options.Opt_Language.Java,FeildType[i])} {FeildName[i]};" + "\r\n"); } str.Append("\r\n"); for (int i = 0; i < FeildName.Count; i++) { str.Append("\r\n"); str.Append("\t" + $"public {SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType,Options.Opt_Language.Java,FeildType[i])} get{FeildName[i]}() {{" + "\r\n"); str.Append("\t\t" + $"return this.{FeildName[i]};" + "\r\n"); str.Append("\t" + "}" + "\r\n"); str.Append("\t" + $"public void set{FeildName[i]}({SqlTypeConvert.SqlTypeToLanguageType(CommonVariables.currentDataBaseType,Options.Opt_Language.Java,FeildType[i])} {FeildName[i]}) {{" + "\r\n"); str.Append("\t\t" + $"this.{FeildName[i]}={FeildName[i]};" + "\r\n"); str.Append("\t" + "}" + "\r\n"); } str.Append("}" + "\r\n");//public class } return(str.ToString()); }