You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
427 lines
18 KiB
C#
427 lines
18 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using DSWeb.Models;
|
|
using WebSqlHelper;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
|
|
namespace DSWeb.EntityDA
|
|
{
|
|
public class UserActionDA
|
|
{
|
|
private const string PARM_USER_ACTION_GID = "@gid";
|
|
private const string PARM_USER_ACTION_ACTION_ID = "@action_id";
|
|
private const string PARM_USER_ACTION_USER_ID = "@user_id";
|
|
private const string PARM_USER_ACTION_CREATE_USER = "@create_user";
|
|
private const string PARM_USER_ACTION_CREATE_TIME = "@create_time";
|
|
private const string PARM_USER_ACTION_MODIFIED_USER = "@modified_user";
|
|
private const string PARM_USER_ACTION_MODIFIED_TIME = "@modified_time";
|
|
|
|
private const string PARM_ACTION_MODULE_ID = "@module_id";
|
|
|
|
private const string SQL_SELECT_USER_ACTION_BY_GID = "SELECT GID, ACTIONID, USERID, CREATEUSER, CREATETIME, MODIFIEDUSER, MODIFIEDTIME FROM user_action WHERE GID = @gid";
|
|
|
|
//private const string SQL_SELECT_USER_ACTION_BY_ACTION_ID = "SELECT GID, ACTIONID, USERID, CREATEUSER, CREATETIME, MODIFIEDUSER, MODIFIEDTIME FROM user_action WHERE ACTIONID = @action_id ";
|
|
private const string SQL_SELECT_USER_ACTION_BY_ACTION_ID = "SELECT GID, ACTIONID,USERID,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME FROM user_action WHERE ACTIONID = @action_id and USERID in (select USERID from user_company where COMPANYID in (SELECT COMPANYID FROM dbo.user_company WHERE USERID = @USERID))";
|
|
|
|
private const string SQL_SELECT_USER_ACTION_BY_USER_ID = "SELECT GID, ACTIONID, USERID, CREATEUSER, CREATETIME, MODIFIEDUSER, MODIFIEDTIME FROM user_action WHERE USERID = @user_id";
|
|
|
|
private const string SQL_SELECT_USER_ACTION_BY_USERID_AND_MODULEID = " SELECT COUNT(*) FROM [action] as A INNER JOIN user_action AS B ON A.GID = B.ACTIONID WHERE A.MODULEID = @module_id AND B.USERID = @user_id ";
|
|
|
|
private const string SQL_INSERT_USER_ACTION_ADD = " INSERT INTO user_action(GID,ACTIONID,USERID,CREATEUSER,CREATETIME) "
|
|
+ " SELECT newid(),GID,@user_id,@create_user,GETDATE() FROM [action] WHERE MODULEID = @module_id ";
|
|
|
|
private const string SQL_DELETE_USER_ACTION = " DELETE user_action WHERE ACTIONID IN (SELECT GID FROM [action] WHERE MODULEID = @module_id) AND USERID = @user_id ";
|
|
|
|
private const string SQL_SELECT_USER_ACTION_VALIDATE = " SELECT COUNT(*) FROM user_action WHERE ACTIONID IN (SELECT GID FROM [action] WHERE MODULEID = @module_id) ";
|
|
|
|
#region 根据Action表GID获取行为信息
|
|
/// <summary>
|
|
/// 根据UserAction表GID获取行为信息
|
|
/// </summary>
|
|
/// <param name="tempActionGID">用户行为表GID</param>
|
|
/// <returns>行为实体类</returns>
|
|
public UserActionEntity GetUserActionByGID(string tempUserActionGID)
|
|
{
|
|
SqlParameter parm = new SqlParameter(PARM_USER_ACTION_GID, SqlDbType.VarChar, 36);
|
|
parm.Value = tempUserActionGID;
|
|
|
|
UserActionEntity userActionEntity = null;
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_USER_ACTION_BY_GID, parm))
|
|
{
|
|
try
|
|
{
|
|
//读取字段值
|
|
while (sqlRead.Read())
|
|
{
|
|
userActionEntity = new UserActionEntity();
|
|
if (!sqlRead.IsDBNull(0))
|
|
{
|
|
userActionEntity.GID = sqlRead.GetString(0);
|
|
}
|
|
if (!sqlRead.IsDBNull(1))
|
|
{
|
|
userActionEntity.ActionID = sqlRead.GetString(1);
|
|
}
|
|
if (!sqlRead.IsDBNull(2))
|
|
{
|
|
userActionEntity.UserID = sqlRead.GetString(2);
|
|
}
|
|
if (!sqlRead.IsDBNull(3))
|
|
{
|
|
userActionEntity.CreateUser = sqlRead.GetString(3);
|
|
}
|
|
if (!sqlRead.IsDBNull(4))
|
|
{
|
|
userActionEntity.CreateTime = sqlRead.GetDateTime(4);
|
|
}
|
|
if (!sqlRead.IsDBNull(5))
|
|
{
|
|
userActionEntity.ModifiedUser = sqlRead.GetString(5);
|
|
}
|
|
if (!sqlRead.IsDBNull(6))
|
|
{
|
|
userActionEntity.ModifiedTime = sqlRead.GetDateTime(6);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception exceError)
|
|
{
|
|
//抛出异常
|
|
throw exceError;
|
|
}
|
|
}
|
|
return userActionEntity;
|
|
}
|
|
#endregion
|
|
|
|
#region 根据Action表GID获取行为信息
|
|
/// <summary>
|
|
/// 根据UserAction表ActionID获取行为信息
|
|
/// </summary>
|
|
/// <param name="tempActionGID">用户行为表GID</param>
|
|
/// <returns>行为实体类</returns>
|
|
public UserActionEntity GetUserActionByActionID(string tempActionGID)
|
|
{
|
|
SqlParameter parm = new SqlParameter(PARM_USER_ACTION_GID, SqlDbType.VarChar, 36);
|
|
parm.Value = tempActionGID;
|
|
|
|
UserActionEntity userActionEntity = null;
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_USER_ACTION_BY_ACTION_ID, parm))
|
|
{
|
|
try
|
|
{
|
|
//读取字段值
|
|
while (sqlRead.Read())
|
|
{
|
|
userActionEntity = new UserActionEntity();
|
|
if (!sqlRead.IsDBNull(0))
|
|
{
|
|
userActionEntity.GID = sqlRead.GetString(0);
|
|
}
|
|
if (!sqlRead.IsDBNull(1))
|
|
{
|
|
userActionEntity.ActionID = sqlRead.GetString(1);
|
|
}
|
|
if (!sqlRead.IsDBNull(2))
|
|
{
|
|
userActionEntity.UserID = sqlRead.GetString(2);
|
|
}
|
|
if (!sqlRead.IsDBNull(3))
|
|
{
|
|
userActionEntity.CreateUser = sqlRead.GetString(3);
|
|
}
|
|
if (!sqlRead.IsDBNull(4))
|
|
{
|
|
userActionEntity.CreateTime = sqlRead.GetDateTime(4);
|
|
}
|
|
if (!sqlRead.IsDBNull(5))
|
|
{
|
|
userActionEntity.ModifiedUser = sqlRead.GetString(5);
|
|
}
|
|
if (!sqlRead.IsDBNull(6))
|
|
{
|
|
userActionEntity.ModifiedTime = sqlRead.GetDateTime(6);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception exceError)
|
|
{
|
|
//抛出异常
|
|
throw exceError;
|
|
}
|
|
}
|
|
return userActionEntity;
|
|
}
|
|
#endregion
|
|
|
|
#region 根据用户GID获取行为信息
|
|
/// <summary>
|
|
/// 根据用户GID获取行为信息
|
|
/// </summary>
|
|
/// <param name="tempUserGID">用户GID</param>
|
|
/// <returns>行为实体类</returns>
|
|
public IList<UserActionEntity> GetUserActionByActionIDALL(string tempActionGID,string strUserID)
|
|
{
|
|
SqlParameter[] parms = new SqlParameter[] {
|
|
new SqlParameter(PARM_USER_ACTION_ACTION_ID,SqlDbType.VarChar,36),
|
|
new SqlParameter("@USERID",SqlDbType.VarChar,36)
|
|
};
|
|
parms[0].Value = tempActionGID;
|
|
parms[1].Value = strUserID;
|
|
|
|
IList<UserActionEntity> userActionEntities = new List<UserActionEntity>();
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_USER_ACTION_BY_ACTION_ID, parms))
|
|
{
|
|
try
|
|
{
|
|
//读取字段值
|
|
while (sqlRead.Read())
|
|
{
|
|
UserActionEntity userActionEntity = new UserActionEntity();
|
|
if (!sqlRead.IsDBNull(0))
|
|
{
|
|
userActionEntity.GID = sqlRead.GetString(0);
|
|
}
|
|
if (!sqlRead.IsDBNull(1))
|
|
{
|
|
userActionEntity.ActionID = sqlRead.GetString(1);
|
|
}
|
|
if (!sqlRead.IsDBNull(2))
|
|
{
|
|
userActionEntity.UserID = sqlRead.GetString(2);
|
|
}
|
|
if (!sqlRead.IsDBNull(3))
|
|
{
|
|
userActionEntity.CreateUser = sqlRead.GetString(3);
|
|
}
|
|
if (!sqlRead.IsDBNull(4))
|
|
{
|
|
userActionEntity.CreateTime = sqlRead.GetDateTime(4);
|
|
}
|
|
if (!sqlRead.IsDBNull(5))
|
|
{
|
|
userActionEntity.ModifiedUser = sqlRead.GetString(5);
|
|
}
|
|
if (!sqlRead.IsDBNull(6))
|
|
{
|
|
userActionEntity.ModifiedTime = sqlRead.GetDateTime(6);
|
|
}
|
|
|
|
userActionEntities.Add(userActionEntity);
|
|
}
|
|
}
|
|
catch (Exception exceError)
|
|
{
|
|
//抛出异常
|
|
throw exceError;
|
|
}
|
|
}
|
|
return userActionEntities;
|
|
}
|
|
#endregion
|
|
|
|
#region 根据用户GID获取行为信息
|
|
/// <summary>
|
|
/// 根据用户GID获取行为信息
|
|
/// </summary>
|
|
/// <param name="tempUserGID">用户GID</param>
|
|
/// <returns>行为实体类</returns>
|
|
public IList<UserActionEntity> GetUserActionByUserID(string tempUserGID)
|
|
{
|
|
SqlParameter parm = new SqlParameter(PARM_USER_ACTION_USER_ID, SqlDbType.VarChar, 36);
|
|
parm.Value = tempUserGID;
|
|
|
|
IList<UserActionEntity> userActionEntities = new List<UserActionEntity>();
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_USER_ACTION_BY_USER_ID, parm))
|
|
{
|
|
try
|
|
{
|
|
//读取字段值
|
|
while (sqlRead.Read())
|
|
{
|
|
UserActionEntity userActionEntity = new UserActionEntity();
|
|
if (!sqlRead.IsDBNull(0))
|
|
{
|
|
userActionEntity.GID = sqlRead.GetString(0);
|
|
}
|
|
if (!sqlRead.IsDBNull(1))
|
|
{
|
|
userActionEntity.ActionID = sqlRead.GetString(1);
|
|
}
|
|
if (!sqlRead.IsDBNull(2))
|
|
{
|
|
userActionEntity.UserID = sqlRead.GetString(2);
|
|
}
|
|
if (!sqlRead.IsDBNull(3))
|
|
{
|
|
userActionEntity.CreateUser = sqlRead.GetString(3);
|
|
}
|
|
if (!sqlRead.IsDBNull(4))
|
|
{
|
|
userActionEntity.CreateTime = sqlRead.GetDateTime(4);
|
|
}
|
|
if (!sqlRead.IsDBNull(5))
|
|
{
|
|
userActionEntity.ModifiedUser = sqlRead.GetString(5);
|
|
}
|
|
if (!sqlRead.IsDBNull(6))
|
|
{
|
|
userActionEntity.ModifiedTime = sqlRead.GetDateTime(6);
|
|
}
|
|
|
|
userActionEntities.Add(userActionEntity);
|
|
}
|
|
}
|
|
catch (Exception exceError)
|
|
{
|
|
//抛出异常
|
|
throw exceError;
|
|
}
|
|
}
|
|
return userActionEntities;
|
|
}
|
|
#endregion
|
|
|
|
#region 查看用户是否已经指定了模块权限
|
|
/// <summary>
|
|
/// 查看用户是否已经指定了模块权限
|
|
/// </summary>
|
|
/// <param name="tempUserID">用户GID</param>
|
|
/// <param name="tempModuleID">模块GID</param>
|
|
/// <returns>true-表示存在 false-表示不存在</returns>
|
|
public bool IsExistUserModule(string tempUserID,string tempModuleID)
|
|
{
|
|
bool isExist = false;
|
|
|
|
SqlParameter[] parms = new SqlParameter[] {
|
|
new SqlParameter(PARM_ACTION_MODULE_ID,SqlDbType.VarChar,36),
|
|
new SqlParameter(PARM_USER_ACTION_USER_ID,SqlDbType.VarChar,36)
|
|
};
|
|
|
|
parms[0].Value = tempModuleID;
|
|
parms[1].Value = tempUserID;
|
|
|
|
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
int iTempResult = (int)SqlHelper.ExecuteScalar(conn, CommandType.Text, SQL_SELECT_USER_ACTION_BY_USERID_AND_MODULEID, parms);
|
|
|
|
if (iTempResult > 0)
|
|
{
|
|
isExist = true;
|
|
}
|
|
}
|
|
catch (Exception error)
|
|
{
|
|
throw (error);
|
|
}
|
|
}
|
|
return isExist;
|
|
}
|
|
#endregion
|
|
|
|
#region 获取所有使用模块的用户ACTION总数
|
|
/// <summary>
|
|
/// 获取所有使用模块的用户ACTION总数
|
|
/// </summary>
|
|
/// <param name="tempModuleID">模块GID</param>
|
|
/// <returns>返回使用模块总数</returns>
|
|
public int GetExistUserActionModule(string tempModuleID)
|
|
{
|
|
int iResult = 0;
|
|
|
|
SqlParameter parm = new SqlParameter(PARM_ACTION_MODULE_ID, SqlDbType.VarChar, 36);
|
|
parm.Value = tempModuleID;
|
|
|
|
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
iResult = (int)SqlHelper.ExecuteScalar(conn, CommandType.Text, SQL_SELECT_USER_ACTION_VALIDATE, parm);
|
|
}
|
|
catch (Exception error)
|
|
{
|
|
throw (error);
|
|
}
|
|
}
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region 为用户指定模块权限
|
|
/// <summary>
|
|
/// 为用户指定模块权限
|
|
/// </summary>
|
|
/// <param name="tempUserID">用户GID</param>
|
|
/// <param name="tempModuleID">模块GID</param>
|
|
/// <param name="tempCreateUserID">操作人GID</param>
|
|
/// <returns>值1表示插入成功 值不等于1表示插入失败</returns>
|
|
public int InsertUserAction(string tempUserID,string tempModuleID,string tempCreateUserID)
|
|
{
|
|
int iResult = 0;
|
|
|
|
SqlParameter[] parms = new SqlParameter[] {
|
|
new SqlParameter(PARM_USER_ACTION_USER_ID,SqlDbType.VarChar,36),
|
|
new SqlParameter(PARM_ACTION_MODULE_ID,SqlDbType.VarChar,36),
|
|
new SqlParameter(PARM_USER_ACTION_CREATE_USER,SqlDbType.VarChar,36)
|
|
};
|
|
|
|
parms[0].Value = tempUserID;
|
|
parms[1].Value = tempModuleID;
|
|
parms[2].Value = tempCreateUserID;
|
|
|
|
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
iResult = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, SQL_INSERT_USER_ACTION_ADD, parms);
|
|
}
|
|
catch (Exception error)
|
|
{
|
|
throw (error);
|
|
}
|
|
}
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region 删除用户模块权限
|
|
/// <summary>
|
|
/// 删除用户模块权限
|
|
/// </summary>
|
|
/// <param name="tempUserID">用户GID</param>
|
|
/// <param name="tempModuleID">模块GID</param>
|
|
/// <returns>值1表示删除成功 值不等于1表示删除失败</returns>
|
|
public int DeleteUserAction(string tempUserID, string tempModuleID)
|
|
{
|
|
int iResult = 0;
|
|
|
|
SqlParameter[] parms = new SqlParameter[] {
|
|
new SqlParameter(PARM_USER_ACTION_USER_ID,SqlDbType.VarChar,36),
|
|
new SqlParameter(PARM_ACTION_MODULE_ID,SqlDbType.VarChar,36)
|
|
};
|
|
|
|
parms[0].Value = tempUserID;
|
|
parms[1].Value = tempModuleID;
|
|
|
|
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
iResult = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, SQL_DELETE_USER_ACTION, parms);
|
|
}
|
|
catch (Exception error)
|
|
{
|
|
throw (error);
|
|
}
|
|
}
|
|
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|