/// <summary> /// 增加一条数据及其子表 /// </summary> public int Add(Model.channel model) { //取得站点对应的导航ID int parent_id = new DAL.Mysql.channel_site(databaseprefix).GetSiteNavId(model.site_id); if (parent_id == 0) { return(0); } using (MySqlConnection conn = new MySqlConnection(DbHelperMySql.connectionString)) { conn.Open(); using (MySqlTransaction trans = conn.BeginTransaction()) { try { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into " + databaseprefix + "channel("); strSql.Append("site_id,name,title,is_albums,is_attach,is_spec,sort_id)"); strSql.Append(" values ("); strSql.Append("@site_id,@name,@title,@is_albums,@is_attach,@is_spec,@sort_id)"); MySqlParameter[] parameters = { new MySqlParameter("@site_id", MySqlDbType.Int32, 4), new MySqlParameter("@name", MySqlDbType.VarChar, 50), new MySqlParameter("@title", MySqlDbType.VarChar, 100), new MySqlParameter("@is_albums", MySqlDbType.Int32, 4), new MySqlParameter("@is_attach", MySqlDbType.Int32, 4), new MySqlParameter("@is_spec", MySqlDbType.Int32, 4), new MySqlParameter("@sort_id", MySqlDbType.Int32, 4) }; parameters[0].Value = model.site_id; parameters[1].Value = model.name; parameters[2].Value = model.title; parameters[3].Value = model.is_albums; parameters[4].Value = model.is_attach; parameters[5].Value = model.is_spec; parameters[6].Value = model.sort_id; DbHelperMySql.ExecuteSql(conn, trans, strSql.ToString(), parameters); //取得新插入的ID model.id = GetMaxId(conn, trans); //扩展字段 if (model.channel_fields != null) { StringBuilder strSql2; foreach (Model.channel_field modelt in model.channel_fields) { strSql2 = new StringBuilder(); strSql2.Append("insert into " + databaseprefix + "channel_field("); strSql2.Append("channel_id,field_id)"); strSql2.Append(" values ("); strSql2.Append("@channel_id,@field_id)"); MySqlParameter[] parameters2 = { new MySqlParameter("@channel_id", MySqlDbType.Int32, 4), new MySqlParameter("@field_id", MySqlDbType.Int32, 4) }; parameters2[0].Value = model.id; parameters2[1].Value = modelt.field_id; DbHelperMySql.ExecuteSql(conn, trans, strSql2.ToString(), parameters2); } } //添加视图 StringBuilder strSql3 = new StringBuilder(); strSql3.Append("CREATE VIEW view_channel_" + model.name + " as"); strSql3.Append(" SELECT " + databaseprefix + "article.*"); if (model.channel_fields != null) { foreach (Model.channel_field modelt in model.channel_fields) { Model.article_attribute_field fieldModel = new DAL.Mysql.article_attribute_field(databaseprefix).GetModel(modelt.field_id); if (fieldModel != null) { strSql3.Append("," + databaseprefix + "article_attribute_value." + fieldModel.name); } } } strSql3.Append(" FROM " + databaseprefix + "article_attribute_value INNER JOIN"); strSql3.Append(" " + databaseprefix + "article ON " + databaseprefix + "article_attribute_value.article_id = " + databaseprefix + "article.id"); strSql3.Append(" WHERE " + databaseprefix + "article.channel_id=" + model.id); DbHelperMySql.ExecuteSql(conn, trans, strSql3.ToString()); //添加导航菜单 int newNavId = new DAL.Mysql.navigation(databaseprefix).Add(conn, trans, parent_id, "channel_" + model.name, model.title, "", model.sort_id, model.id, "Show"); new DAL.Mysql.navigation(databaseprefix).Add(conn, trans, newNavId, "channel_" + model.name + "_list", "内容管理", "article/article_list.aspx", 99, model.id, "Show,View,Add,Edit,Delete,Audit"); new DAL.Mysql.navigation(databaseprefix).Add(conn, trans, newNavId, "channel_" + model.name + "_category", "栏目类别", "article/category_list.aspx", 100, model.id, "Show,View,Add,Edit,Delete"); new DAL.Mysql.navigation(databaseprefix).Add(conn, trans, newNavId, "channel_" + model.name + "_comment", "评论管理", "article/comment_list.aspx", 101, model.id, "Show,View,Delete,Reply"); trans.Commit(); } catch { trans.Rollback(); return(0); } } } return(model.id); }
public navigation() { dal = new DAL.Mysql.navigation(siteConfig.sysdatabaseprefix); }