public static string CreateAddMethod(int action, string table_name, List <SqlColumnInfo> colList, string model_name, string db_name)
        {
            if ((action & (int)action_type.add) == (int)action_type.add)
            {
                StringBuilder keyContent   = new StringBuilder("");
                StringBuilder valueContent = new StringBuilder("");
                var           addList      = Cache_VMData.GetVMList(table_name, VMType.Add, colList.ToNotMainIdList());
                for (var i = 0; i < addList.Count; i++)
                {
                    var item = addList[i];
                    if (i == 0)
                    {
                        keyContent.Append(item.Name);
                        valueContent.Append("@" + item.Name);
                    }
                    else
                    {
                        keyContent.Append(" ," + item.Name);
                        valueContent.Append(" ,@" + item.Name);
                    }
                }

                string addContent = string.Format(@"string insertSql = ""insert into {0}({1}) values ({2});"";", table_name, keyContent.ToString(), valueContent.ToString());
                var    checkList  = Cache_VMData.GetAddCheckList(table_name, colList.ToNotMainIdList());
                if (checkList.Count == 0)
                {
                    string template = @"
        public bool Add{3}({0} model)
        {{
			{1}
            using (IDbConnection sqlcn = ConnectionFactory.{2})
            {{
                return sqlcn.Execute(insertSql, model) > 0;
            }}
        }}
";

                    return(string.Format(template,
                                         table_name,
                                         addContent.ToString(),
                                         db_name,
                                         table_name));
                }
                else
                {
                    string select_text = SqlTextHelper.CreateSelectCountSql(table_name, checkList);
                    string template    = @"
        public bool Add{3}({0} model)
        {{
            {4}
			{1}
            using (IDbConnection sqlcn = ConnectionFactory.{2})
            {{
                int count = sqlcn.QuerySingleOrDefault<int>(selectSql, model);
                if(count == 0)
                {{
                    return sqlcn.Execute(insertSql, model) > 0;
                }}

                return false;
            }}
        }}
";

                    return(string.Format(template,
                                         table_name,
                                         addContent.ToString(),
                                         db_name,
                                         table_name,
                                         select_text));
                }
            }
            else
            {
                return(string.Empty);
            }
        }
        public static string CreateAddMethod(int action, string table_name, List <SqlColumnInfo> colList, string model_name, string db_name)
        {
            if ((action & (int)action_type.add) == (int)action_type.add)
            {
                StringBuilder addContent       = new StringBuilder();
                StringBuilder valueContent     = new StringBuilder(") values (");
                StringBuilder addparamsContent = new StringBuilder("List<MySqlParameter> listParams = new List<MySqlParameter>();\r\n");
                addContent.AppendFormat("string insertSql = \"insert into {0}(", table_name);
                int index   = 0;
                var addList = Cache_VMData.GetVMList(table_name, VMType.Add, colList.ToNotMainIdList());
                foreach (var item in addList)
                {
                    if (index == 0)
                    {
                        addContent.Append(item.Name);
                        valueContent.Append("@" + item.Name);
                    }
                    else
                    {
                        addContent.Append(" ," + item.Name);
                        valueContent.Append(" ,@" + item.Name);
                    }

                    addparamsContent.AppendFormat("\t\t\tlistParams.Add(new MySqlParameter(\"@{0}\", {1}) {{ Value = model.{0} }});\r\n", item.Name, item.DbType.ToMySqlDbType());

                    index++;
                }

                var checkList = Cache_VMData.GetAddCheckList(table_name, colList.ToNotMainIdList());
                if (checkList.Count == 0)
                {
                    addContent.Append(valueContent.ToString() + ")\";");
                    string template = @"
        public bool Add{4}({0} model)
        {{
			{1}
            {2}
            using (MySqlConnection sqlcn = ConnectionFactory.{3})
            {{
                return MySqlHelper2.ExecuteNonQuery(sqlcn, CommandType.Text, insertSql, listParams.ToArray()) > 0;
            }}
        }}
";

                    return(string.Format(template,
                                         model_name,
                                         addContent.ToString(),
                                         addparamsContent.ToString(),
                                         db_name,
                                         table_name));
                }
                else
                {
                    string select_text = SqlTextHelper.CreateSelectCountSql(table_name, checkList);
                    addContent.Append(valueContent.ToString() + ")\";");
                    string template = @"
        public bool Add{4}({0} model)
        {{
			{1}
            {2}
            {5}
            using (MySqlConnection sqlcn = ConnectionFactory.{3})
            {{
                Object obj = MySqlHelper2.ExecuteScaler(sqlcn, CommandType.Text, selectSql, listParams.ToArray());
                if(obj == null || obj == DBNull.Value)
                {{
                    return false;
                }}

                int count = Convert.ToInt32(obj);
                if(count == 0)
                {{
                    return MySqlHelper2.ExecuteNonQuery(sqlcn, CommandType.Text, insertSql, listParams.ToArray()) > 0;
                }}
                else
                {{
                    return false;
                }}
            }}
        }}
";

                    return(string.Format(template,
                                         model_name,
                                         addContent.ToString(),
                                         addparamsContent.ToString(),
                                         db_name,
                                         table_name,
                                         select_text));
                }
            }
            else
            {
                return(string.Empty);
            }
        }
        public string CreateAddMethod()
        {
            StringBuilder keyContent   = new StringBuilder();
            StringBuilder valueContent = new StringBuilder();
            int           index        = 0;

            foreach (var item in list.ToNotMainIdList())
            {
                if (index == 0)
                {
                    keyContent.Append(item.Name);
                    valueContent.Append("@" + item.Name);
                }
                else
                {
                    keyContent.Append(" ," + item.Name);
                    valueContent.Append(" ,@" + item.Name);
                }

                index++;
            }

            string addContent = string.Format(@"string insertSql = ""insert into {0} ({1}) values ({2});"";", table_name, keyContent.ToString(), valueContent.ToString());

            var checkList = Cache_VMData.GetAddCheckList(table_name, list.ToNotMainIdList());

            if (checkList.Count == 0)
            {
                string template = @"
        public bool Add{3}({0} model)
        {{
			{1}
            using (IDbConnection sqlcn = ConnectionFactory.{2})
            {{
                return sqlcn.Execute(insertSql, model) > 0;
            }}
        }}
";

                return(string.Format(template,
                                     model_name,
                                     addContent,
                                     db_name,
                                     table_name));
            }
            else
            {
                string select_text = SqlTextHelper.CreateSelectCountSql(table_name, checkList);
                string template    = @"
        public bool Add{3}({0} model)
        {{
            {4}
			{1}
            using (IDbConnection sqlcn = ConnectionFactory.{2})
            {{
                sqlcn.Open();
                int count = sqlcn.QuerySingleOrDefault<int>(selectSql, model);
                if(count == 0)
                {{
                    return sqlcn.Execute(insertSql, model) > 0;
                }}

                return false;
            }}
        }}
";

                return(string.Format(template,
                                     model_name,
                                     addContent,
                                     db_name,
                                     table_name,
                                     select_text));
            }
        }