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());
        }
示例#2
0
        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());
        }
示例#5
0
        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());
        }