RolePermission.Bll/SMMENUTBService.cs
(开头部分) 9KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RolePermission.Model;
using RolePermission.IBLL;
using RolePermission.Model.SearchParam;
using System.Linq.Expressions;
using Microsoft.EntityFrameworkCore;
using RolePermission.Common;
using RolePermission.IDAL;
using RolePermission.Model.Relationship;
namespace RolePermission.BLL
{
public partial class SMMENUTBService : BaseService<SMMENUTB>, ISMMENUTBService
{
/// <summary>
/// 多条件搜索角色信息
/// </summary>
/// <param name="menuParam">查询参数实体</param>
/// <returns></returns>
public IQueryable<SMMENUTB> LoadSearchEntities(MenuParam menuParam)
{
Expression<Func<SMMENUTB, bool>> whereLambda = PredicateBuilder.True<SMMENUTB>();
int count = 0;
IQueryable<SMMENUTB> queryData = null;
if (!string.IsNullOrEmpty(menuParam.order) && !string.IsNullOrEmpty(menuParam.sort))
{
bool isAsc = menuParam.order == "asc" ? true : false;
queryData = LoadPageEntities<SMMENUTB>(menuParam.page, menuParam.rows, out count, whereLambda, menuParam.sort, isAsc);
}
else
{
queryData = LoadPageEntities<SMMENUTB>(menuParam.page, menuParam.rows, out count, whereLambda, menuParam.sort, null);
}
menuParam.TotalCount = count;
return queryData;
}
/// <summary>
/// 根据PersonId获取已经启用的菜单
/// </summary>
/// <param name="personId">人员的Id</param>
/// <returns>菜单拼接的字符串</returns>
public string GetMenuByAccount(ref Account person)
{
int personId = person.USER_ID;
var roleIds = this.GetCurrentDbSession.ISMUSERTBRepository.LoadEntities(x => x.USER_ID == personId).Include(c=>c.SMROLETB).FirstOrDefault().SMROLETB.Select(s => s.ROLE_ID).ToList();
person.RoleIds = roleIds;
List<SMMENUTB> menuNeed = GetCurrentDbSession.ISMMENUROLEFUNCTBRepository.LoadEntities(x => x.FUNC_ID == null && roleIds.Any(a => a == x.ROLEID)).Select(s => s.SMMENUTB).Distinct().OrderBy(o => o.SORT).ToList();
person.MenuIds = menuNeed.Select(s => s.ID).ToList();
StringBuilder strmenu2 = new StringBuilder();//拼接菜单的字符串
int? lever = 0;//上一个菜单的层级
int? current = 0;//当前菜单的层级
foreach (SMMENUTB item in menuNeed)
{
current = item.MENULEVEL;//item.REMARK.Length / 4;//按照4位数字的编码格式
后面还有 163 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。