20230201_145_upperpc/InSituLaboratory.Service/MenuService.cs
2024-03-11 13:12:02 +08:00

41 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using InSituLaboratory.Entities;
using InSituLaboratory.IService;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InSituLaboratory.Service
{
public class MenuService : BaseService, IMenuService
{
public MenuService(DbContext context) : base(context) { }
public IEnumerable<SysMenu> GetMenuList(string key = "")
{
// return this.Query<SysMenu>(m => 1 == 1);
return this.Query<SysMenu>(m =>
string.IsNullOrEmpty(key) ? 1 == 1 :
/// 有条件的时候,检查每个子项的时候,需要同时检查其子项
///
/// 检查当前菜单项的Header有没有包括关键词
m.MenuHeader.Contains(key) ||
/// 检查当前菜单项的TargetView有没有包括关键词
m.TargetView.Contains(key) ||
/// 检查当前菜单项的子项中有没有符合条件的Header或者TargetView包括了关键词
Context.Set<SysMenu>().Where(sm => sm.ParentId == m.MenuId &&
(sm.MenuHeader.Contains(key) || sm.TargetView.Contains(key))).Count() > 0
);
}
}
}