/// <summary>
/// 系统菜单
/// </summary>
public class ManageMenu
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
/// <summary>
/// 名字
/// </summary>
[MaxLength(50)]
public string Name { get; set; }
/// <summary>
/// 是否删除
/// </summary>
[DefaultValue(false)]
public bool IsDeleted { get; set; }
/// <summary>
/// 添加时间
/// </summary>
public DateTime CreateDate { get; set; } = DateTime.Now;
/// <summary>
/// 链接Url
/// </summary>
[StringLength(200)]
public string Url { get; set; }
/// <summary>
/// Icon图标
/// </summary>
[StringLength(50)]
public string IconCls { get; set; }
/// <summary>
/// 所需权限
/// </summary>
[Required]
[StringLength(100)]
public string RequirPermission { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Sort { get; set; }
/// <summary>
/// 起源菜单Id
/// </summary>
public int? ParentId { get; set; }
/// <summary>
/// 起源菜单
/// </summary>
[ForeignKey("ParentId")]
public virtual ManageMenu ParentManageMenu { get; set; }
public virtual List<ManageMenu> Child { get; set; }
}
public List<ManageMenu> GetSubManageMenuById(int key)
{
try
{
var returnList = new List<ManageMenu>();
var entity = _context.ManageMenu.Where(x => x.Id == key).Where(x => x.IsDeleted == false).FirstOrDefault();
if (entity != null)
{
returnList = GetSubManageMenu(key);
returnList.Add(entity);
}
return returnList;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 获取所有目录
/// </summary>
/// <param name="key">目录Id</param>
/// <returns></returns>
private List<ManageMenu> GetSubManageMenu(int key)
{
var returnList = new List<ManageMenu>();
var listManageMenu = _context.ManageMenu.Where(x => x.ParentId == key).Where(x => x.IsDeleted == false).ToList();
foreach (var item in listManageMenu)
{
returnList.AddRange(GetSubManageMenuById(item.Id));
}
return returnList;
}