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.

92 lines
2.9 KiB
C#

10 months ago
using System;
using System.Data;
using DSWeb.Models;
using DSWeb.EntityDA;
using System.Collections;
using System.Collections.Generic;
namespace DSWeb.Authority
{
public class AuthorityManage
{
private string _userid;
private string _action_id;
private string _role_id;
private UserEntity _userEntity;
private RoleEntity _roleEntity;
private CompanyEntity _companyEntity;
public AuthorityManage()
{
}
public AuthorityManage(AuthorityType type,object obj)
{
switch (type)
{
case AuthorityType.USER:
_userEntity = (UserEntity)obj;
break;
case AuthorityType.ROLE:
_roleEntity = (RoleEntity)obj;
break;
case AuthorityType.DEPARTMENT:
_companyEntity = (CompanyEntity)obj;
break;
}
}
#region 获得用户行为信息
/// <summary>
/// 获得用户行为信息
/// </summary>
/// <returns></returns>
public IList<UserActionEntity> GetUserAction()
{
IList<UserActionEntity> userActionEntities = new List<UserActionEntity>();
//先判断是否已经获取用户信息
if (_userEntity != null)
{
//根据用户GID获取用户相关的行为信息
UserActionDA userActionDA = new UserActionDA();
userActionEntities = userActionDA.GetUserActionByUserID(_userEntity.Gid);
//查看是否此用户相关的行为信息
if (userActionEntities.Count > 0)
{
//根据用户相关的行为信息获取行为表信息
ActionDA actionDA = new ActionDA();
ModuleDA moduleDA = new ModuleDA();
foreach (UserActionEntity userActionEntity in userActionEntities)
{
ActionEntity actionEntity = new ActionEntity();
actionEntity = actionDA.GetActionByGID(userActionEntity.ActionID);
//获取模块信息
ModuleEntity moduleEntity = new ModuleEntity();
moduleEntity = moduleDA.GetModuleByID(actionEntity.ModuleID);
actionEntity.ModuleEntity = moduleEntity;
//将行为表信息赋值到UserActionEntity实体类中
userActionEntity.ActionEntity = actionEntity;
}
}
}
return userActionEntities;
}
#endregion
public enum AuthorityType
{
USER = 1,
ROLE = 2,
DEPARTMENT = 3
}
}
}