using System; using System.Collections.Generic; using System.Web; using System.Text; using DSWeb.Models; using System.Data; using System.Data.SqlClient; using WebSqlHelper; namespace DSWeb.EntityDA { public class ModuleDA { private const string PARM_MODULE_GID = "@gid"; private const string PARM_MODULE_NAME = "@name"; private const string PARM_MODULE_DESCRIPTION = "@description"; private const string PARM_MODULE_MODULE_URL = "@module_url"; private const string PARM_MODULE_MODULE_ICON = "@module_icon"; private const string PARM_MODULE_PARENT_ID = "@parent_id"; private const string PARM_MODULE_SORT = "@sort"; private const string PARM_MODULE_STATE = "@state"; private const string PARM_MODULE_TYPE = "@type"; private const string PARM_MODULE_CREATE_USER = "@create_user"; private const string PARM_MODULE_CREATE_TIME = "@create_time"; private const string PARM_MODULE_MODIFIED_USER = "@modified_user"; private const string PARM_MODULE_MODIFIED_TIME = "@modified_time"; private const string PARM_MODULE_SHOW_ROOT_STATES = "@show_root_states"; //user_action private const string PARM_USER_ACTION_USER_ID = "@user_id"; private const string PARM_USER_ACTION_ACTION_ID = "@action_id"; //action private const string PARM_ACTION_GID = "@gid"; private const string PARM_ACTION_NAME = "@name"; private const string PARM_ACTION_DESCRIPTION = "@description"; private const string PARM_ACTION_CREATE_USER = "@create_user"; private const string PARM_ACTION_MODULE_ID = "@module_id"; private ModuleType _module_type;//模块类型 private const string SQL_SELECT_MODULE = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE GID = @gid ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_BY_NAME = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE NAME = @name "; private const string SQL_SELECT_MODULE_ALL = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE STATE <> 1 ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_USER_ALL = " SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE STATE <> 1 AND GID IN " + " ( SELECT B.MODULEID FROM user_action as A INNER JOIN [action] as B ON A.ACTIONID = B.GID WHERE USERID = @user_id ) ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_PARENT = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE PARENTID = '0' AND STATE <> 1 AND TYPE = 0 ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_USER_PARENT = " SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module " + " WHERE PARENTID = '0' AND STATE <> 1 AND TYPE = 0 AND GID IN " + "( SELECT B.MODULEID FROM user_action as A INNER JOIN [action] as B ON A.ACTIONID = B.GID WHERE USERID = @user_id ) ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_SUB = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE PARENTID <> '0' AND PARENTID = @gid AND STATE <> 1 ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_ALLSUB = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE PARENTID <> '0' AND STATE <> 1 ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_USER_ALLSUB = " SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE PARENTID <> '0' AND STATE <> 1 " + " AND GID IN ( SELECT B.MODULEID FROM user_action as A INNER JOIN [action] as B ON A.ACTIONID = B.GID WHERE USERID = @user_id ) ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_USERBASE = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE PARENTID = '1'AND STATE <> 1 ORDER BY SORT ASC "; private const string SQL_SELECT_MODULE_USERBASE_SUB = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE PARENTID <> '1' AND PARENTID <> '0' ORDER BY SORT ASC "; //根据模块TYPE类型获取相应的操作模块 private const string SQL_SELECT_MODULE_BY_TYPE = "SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE PARENTID = '0' AND STATE <> 1 AND TYPE = @type ORDER BY SORT ASC "; private const string SQL_UPDATE_MODULE = " UPDATE sys_module SET NAME = @name,DESCRIPTION = @DESCRIPTION,MODULEURL = @module_url,MODULEICON = @module_icon,STATE = @state,SORT = @sort,PARENTID = @parent_id," + " MODIFIEDUSER = @modified_user,MODIFIEDTIME = GETDATE(),SHOWROOTSTATE = @show_root_states, TYPE = @type WHERE GID = @gid "; private const string SQL_INSERT_MODULE = " INSERT INTO sys_module(GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,STATE,SORT,PARENTID,CREATEUSER,CREATETIME,SHOWROOTSTATE,TYPE) " + " VALUES(@gid,@name,@description,@module_url,@module_icon,@state,@sort,@parent_id,@create_user,GETDATE(),@show_root_states,@type) "; private const string SQL_DELETE_MODULE = " DELETE FROM sys_module WHERE GID = @gid"; private const string SQL_SELECT_MODULE_BY_DESCRIPTION_LIKE = " SELECT GID,NAME,DESCRIPTION,MODULEURL,MODULEICON,SORT,STATE,PARENTID,SHOWROOTSTATE,TYPE FROM sys_module WHERE DESCRIPTION LIKE '%{0}%' "; private const string SQL_SELECT_ACTION_BY_MODULE_ID = " SELECT COUNT(*) FROM [action] WHERE MODULEID = @module_id "; private const string SQL_INSERT_ACTION = " INSERT INTO [action](GID,NAME,DESCRIPTION,MODULEID,CREATEUSER,CREATETIME,STATE,SORT) VALUES(@gid,@name,@description,@module_id,@create_user,GETDATE(),0,0) "; private const string SQL_SELECT_ACTIONID_BY_MODULE_ID = " SELECT GID FROM [action] WHERE MODULEID = @module_id "; private const string SQL_DELETE_USER_ACTION = " DELETE FROM user_action WHERE ACTIONID = @action_id "; private const string SQL_DELETE_ACTION = " DELETE FROM [action] WHERE GID = @gid "; #region 根据模板GID获取模板信息 /// /// 根据模板GID获取模板信息 /// /// /// public ModuleEntity GetModuleByID(string moduleID) { //初始化返回变量 ModuleEntity moduleEntity = null; //初始化参数并赋值 SqlParameter parm = new SqlParameter(PARM_MODULE_GID, SqlDbType.VarChar, 36); parm.Value = moduleID; using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE, parm)) { try { moduleEntity = new ModuleEntity(); //读取字段值 while (sqlRead.Read()) { if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntity; } #endregion #region 根据模糊查询模板NAME获取模板信息 /// /// 根据模糊查询模板NAME获取模板信息 /// /// /// public IList GetModuleByDescriptionLike(string tempModuleName) { IList moduleEntities = new List(); string strSql = String.Format(SQL_SELECT_MODULE_BY_DESCRIPTION_LIKE, tempModuleName); using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql, null)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 根据模板NAME获取模板信息 /// /// 根据模板NAME获取模板信息 /// /// /// public ModuleEntity GetModuleByName(string moduleName) { //初始化返回变量 ModuleEntity moduleEntity = null; //初始化参数并赋值 SqlParameter parm = new SqlParameter(PARM_MODULE_NAME, SqlDbType.VarChar, 36); parm.Value = moduleName; using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_BY_NAME, parm)) { try { moduleEntity = new ModuleEntity(); //读取字段值 while (sqlRead.Read()) { if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntity; } #endregion #region 获取所有模板信息 /// /// 获取所有模板信息 /// /// public List GetAll() { //初始化返回变量 List moduleEntities = new List(); using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_ALL, null)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获取所选用户所有模板信息 /// /// 获取所选用户所有模板信息 /// /// public List GetUserAll(string tempSelectedUserID) { //初始化返回变量 List moduleEntities = new List(); SqlParameter parm = new SqlParameter(PARM_USER_ACTION_USER_ID, SqlDbType.VarChar, 36); parm.Value = tempSelectedUserID; using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_USER_ALL, parm)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获取所有主模板的信息 /// /// 获取所有主模板的信息 /// /// public List GetParentModule() { //初始化返回变量 List moduleEntities = new List(); using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_PARENT, null)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获取选中用户所有主模板的信息 /// /// 获取选中用户所有主模板的信息 /// /// public List GetUserParentModule(string tempSelectedUserID) { //初始化返回变量 List moduleEntities = new List(); SqlParameter parm = new SqlParameter(PARM_USER_ACTION_USER_ID, SqlDbType.VarChar, 36); parm.Value = tempSelectedUserID; using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_USER_PARENT, parm)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获得所有子模板 /// /// 获得所有子模板 /// /// public List GetAllSubModules() { //初始化返回变量 List moduleEntities = new List(); using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_ALLSUB, null)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获得所选用户的所有子模板 /// /// 获得所选用户的所有子模板 /// /// public List GetUserAllSubModules(string tempSelectedUserID) { //初始化返回变量 List moduleEntities = new List(); SqlParameter parm = new SqlParameter(PARM_USER_ACTION_USER_ID, SqlDbType.VarChar, 36); parm.Value = tempSelectedUserID; using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_USER_ALLSUB, parm)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获取与主模板相关联的所有子模板的信息 /// /// 获取所有子模板的信息 /// /// public List GetSubModule(string strParentGid) { //初始化返回变量 List moduleEntities = new List(); //初始化参数并赋值 SqlParameter parm = new SqlParameter(PARM_MODULE_GID, SqlDbType.VarChar, 36); parm.Value = strParentGid; using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_SUB, parm)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获取模板信息 /// /// 获取模板信息 /// /// SQL_SELECT_MODULE_ALL;SQL_SELECT_MODULE_PARENT;SQL_SELECT_MODULE_SUB /// public List GetModules(string strSql, string strGid) { //初始化返回变量 List moduleEntities = new List(); //初始化参数并赋值 SqlParameter parm = null; if (!strGid.Trim().Equals("")) { parm = new SqlParameter(PARM_MODULE_GID, SqlDbType.VarChar, 36); parm.Value = strGid; } using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_ALL, null)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获取用户基本设置页面主模板的信息 /// /// 获取用户基本设置页面主模板的信息 /// /// public List GetUserBaseParentModule() { //初始化返回变量 List moduleEntities = new List(); using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_USERBASE, null)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获得用户基本设置页面所有子模板 /// /// 获得用户基本设置页面所有子模板 /// /// public List GetAllUserBaseSubModules() { //初始化返回变量 List moduleEntities = new List(); using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_USERBASE_SUB, null)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion #region 获取操作模块所有主模板 /// /// 获取操作模块所有主模板 /// /// 所要查找的type类型 值为1表示查找用户管理操作模块; 值为2表示查找海运出口操作模块; 值为3表示查找海运进口操作模块 /// public List GetModuleByType(ModuleType moduleType) { _module_type = moduleType; //初始化返回变量 List moduleEntities = new List(); SqlParameter parm = new SqlParameter(PARM_MODULE_TYPE, SqlDbType.Int); parm.Value = ModuleType.USER; using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_MODULE_BY_TYPE, parm)) { try { //读取字段值 while (sqlRead.Read()) { ModuleEntity moduleEntity = new ModuleEntity(); if (!sqlRead.IsDBNull(0)) { moduleEntity.Gid = sqlRead.GetString(0); } if (!sqlRead.IsDBNull(1)) { moduleEntity.ModuleName = sqlRead.GetString(1); } if (!sqlRead.IsDBNull(2)) { moduleEntity.ModuleDescription = sqlRead.GetString(2); } if (!sqlRead.IsDBNull(3)) { moduleEntity.ModuleUrl = sqlRead.GetString(3); } if (!sqlRead.IsDBNull(4)) { moduleEntity.ModuleIcon = sqlRead.GetString(4); } if (!sqlRead.IsDBNull(5)) { moduleEntity.ModuleSort = sqlRead.GetInt32(5); } if (!sqlRead.IsDBNull(6)) { moduleEntity.ModuleState = sqlRead.GetInt32(6); } if (!sqlRead.IsDBNull(7)) { moduleEntity.ParentID = sqlRead.GetString(7); } if (!sqlRead.IsDBNull(8)) { moduleEntity.ShowRootState = sqlRead.GetInt32(8); } if (!sqlRead.IsDBNull(9)) { moduleEntity.ModuleType = sqlRead.GetInt32(9); } moduleEntities.Add(moduleEntity); } } catch (Exception exceError) { //抛出异常 throw exceError; } } return moduleEntities; } #endregion public enum ModuleType { USER = 1,//用户管理操作 SEAEXPORT = 2,//海运出口管理操作 SEAIMPORT = 3,//海运进口管理操作 SEAILCLMPORT = 4,//海运进口散货管理操作 } public ModuleType Type { get { return _module_type; } set { _module_type = value; } } #region 返回执行SQL语句获取的数据集 /// /// 返回执行SQL语句获取的数据集 /// /// 执行查询SQL语句 /// 返回数据集 public DataSet GetExcuteSql(string strSql) { DataSet tempSet = new DataSet(); tempSet = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql); return tempSet; } #endregion #region 更新模块信息 /// /// 更新模块信息 /// /// 模块实体类moduleEntity /// 值1表示更新成功 值不等于1表示更新失败 public int UpdateModule(ModuleEntity moduleEntity) { int iResult = 0; SqlParameter[] updateParms = new SqlParameter[] { new SqlParameter(PARM_MODULE_NAME,SqlDbType.VarChar,150), new SqlParameter(PARM_MODULE_DESCRIPTION,SqlDbType.VarChar,150), new SqlParameter(PARM_MODULE_MODULE_URL,SqlDbType.VarChar,50), new SqlParameter(PARM_MODULE_MODULE_ICON,SqlDbType.VarChar,50), new SqlParameter(PARM_MODULE_PARENT_ID,SqlDbType.VarChar,36), new SqlParameter(PARM_MODULE_SORT,SqlDbType.Int), new SqlParameter(PARM_MODULE_STATE,SqlDbType.Int), new SqlParameter(PARM_MODULE_MODIFIED_USER,SqlDbType.VarChar,36), new SqlParameter(PARM_MODULE_SHOW_ROOT_STATES,SqlDbType.Int), new SqlParameter(PARM_MODULE_TYPE,SqlDbType.Int), new SqlParameter(PARM_MODULE_GID,SqlDbType.VarChar,36) }; updateParms[0].Value = moduleEntity.ModuleName; updateParms[1].Value = moduleEntity.ModuleDescription; updateParms[2].Value = moduleEntity.ModuleUrl; updateParms[3].Value = moduleEntity.ModuleIcon; updateParms[4].Value = moduleEntity.ParentID; updateParms[5].Value = moduleEntity.ModuleSort; updateParms[6].Value = moduleEntity.ModuleState; updateParms[7].Value = moduleEntity.ModifiedUser; updateParms[8].Value = moduleEntity.ShowRootState; updateParms[9].Value = moduleEntity.ModuleType; updateParms[10].Value = moduleEntity.Gid; using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction)) { int existVal = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, SQL_UPDATE_MODULE, updateParms); if (existVal > 0) { iResult = 1; } else { iResult = -1;//执行异常 } } return iResult; } #endregion #region 插入模块信息 /// /// 插入模块信息 /// /// 模块实体类ModuleEntity /// 值1表示插入成功 值不等于1表示插入失败 public int InsertModule(ModuleEntity moduleEntity,ActionEntity actionEntity) { int iResult = 0; using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { //插入模块信息 SqlParameter[] insertParms = new SqlParameter[] { new SqlParameter(PARM_MODULE_GID,SqlDbType.VarChar,36), new SqlParameter(PARM_MODULE_NAME,SqlDbType.VarChar,150), new SqlParameter(PARM_MODULE_DESCRIPTION,SqlDbType.VarChar,150), new SqlParameter(PARM_MODULE_MODULE_URL,SqlDbType.VarChar,50), new SqlParameter(PARM_MODULE_MODULE_ICON,SqlDbType.VarChar,50), new SqlParameter(PARM_MODULE_PARENT_ID,SqlDbType.VarChar,36), new SqlParameter(PARM_MODULE_SORT,SqlDbType.Int), new SqlParameter(PARM_MODULE_STATE,SqlDbType.Int), new SqlParameter(PARM_MODULE_CREATE_USER,SqlDbType.VarChar,36), new SqlParameter(PARM_MODULE_SHOW_ROOT_STATES,SqlDbType.Int), new SqlParameter(PARM_MODULE_TYPE,SqlDbType.Int) }; insertParms[0].Value = moduleEntity.Gid; insertParms[1].Value = moduleEntity.ModuleName; insertParms[2].Value = moduleEntity.ModuleDescription; insertParms[3].Value = moduleEntity.ModuleUrl; insertParms[4].Value = moduleEntity.ModuleIcon; insertParms[5].Value = moduleEntity.ParentID; insertParms[6].Value = moduleEntity.ModuleSort; insertParms[7].Value = moduleEntity.ModuleState; insertParms[8].Value = moduleEntity.CreateUser; insertParms[9].Value = moduleEntity.ShowRootState; insertParms[10].Value = moduleEntity.ModuleType; SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_MODULE, insertParms); //先判断action是否有重复的信息 SqlParameter[] existParms = new SqlParameter[] { new SqlParameter(PARM_ACTION_MODULE_ID,SqlDbType.VarChar,36) }; existParms[0].Value = moduleEntity.Gid; int existState = (int)SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, SQL_SELECT_ACTION_BY_MODULE_ID, existParms); if (existState == 0) { SqlParameter[] actionParms = new SqlParameter[] { new SqlParameter(PARM_ACTION_GID,SqlDbType.VarChar,36), new SqlParameter(PARM_ACTION_NAME,SqlDbType.VarChar,50), new SqlParameter(PARM_ACTION_DESCRIPTION,SqlDbType.VarChar,50), new SqlParameter(PARM_ACTION_MODULE_ID,SqlDbType.VarChar,36), new SqlParameter(PARM_ACTION_CREATE_USER,SqlDbType.VarChar,36) }; actionParms[0].Value = actionEntity.GID; actionParms[1].Value = actionEntity.ActionName; actionParms[2].Value = actionEntity.Description; actionParms[3].Value = actionEntity.ModuleID; actionParms[4].Value = actionEntity.CreateUserID; SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_ACTION, actionParms); } //事务提交 sqlTran.Commit(); iResult = 1;//状态为1表示插入成功 } catch (Exception execError) { iResult = -1;//有异常,插入失败 sqlTran.Rollback(); iResult = -2;//插入异常,事务已回滚成功 throw execError; } finally { SqlHelper.CloseConnection(); } } return iResult; } #endregion #region 删除模块 /// /// 删除模块 /// /// 模块GID /// 值1表示删除成功 值不等于1表示删除失败 public int DeleteModule(string tempModuleGID) { int iResult = 0; string strActionID = ""; using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { //先判断当前要删除的模块是否已经制定给用户 SqlParameter getActionParm = new SqlParameter(PARM_ACTION_MODULE_ID, SqlDbType.VarChar, 36); getActionParm.Value = tempModuleGID; strActionID = (string)SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, SQL_SELECT_ACTIONID_BY_MODULE_ID, getActionParm); //如果已指定到客户则先将指定到客户的action删除 if (strActionID != "") { SqlParameter delUserActionParm = new SqlParameter(PARM_USER_ACTION_ACTION_ID, SqlDbType.VarChar, 36); delUserActionParm.Value = strActionID; SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_DELETE_USER_ACTION, delUserActionParm); //删除action表信息 SqlParameter delActionParm = new SqlParameter(PARM_ACTION_GID, SqlDbType.VarChar, 36); delActionParm.Value = strActionID; SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_DELETE_ACTION, delActionParm); //删除模块信息 SqlParameter[] deleteParms = new SqlParameter[] { new SqlParameter(PARM_MODULE_GID,SqlDbType.VarChar,36) }; deleteParms[0].Value = tempModuleGID; SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_DELETE_MODULE, deleteParms); } //事务提交 sqlTran.Commit(); iResult = 1;//状态为1表示插入成功 } catch (Exception execError) { iResult = -1;//有异常,插入失败 sqlTran.Rollback(); iResult = -2;//插入异常,事务已回滚成功 throw execError; } finally { SqlHelper.CloseConnection(); } } return iResult; } #endregion } }