using MyCode.Project.Domain.Message.Response.User; using MyCode.Project.Infrastructure.Common; using MyCode.Project.Infrastructure.Extensions; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MyCode.Project.Domain.Businesses.Menus { /// /// 菜单模块 /// public class MenuModule { /// /// 模块ID /// public Guid? Id { get; set; } /// /// 菜单ID /// public Guid? MenuId { get; set; } /// /// 功能类型。1:WebApi,2:函数,3:存储过程 /// public int FuncType { get; set; } /// /// 路径 /// public string Path { get; set; } /// /// 功能点 /// [JsonIgnore] public string FuncPoint { get; set; } /// /// 菜单按钮 /// public MenuButton MenuPower { get; set; } /// /// 备注 /// public string Note { get; set; } /// /// 系统类型。0:公用,11:公司系统,12:加盟商系统,13:店铺系统 /// public int SystemType { get; set; } /// /// 初始化菜单按钮 /// public void InitPower() { if (FuncPoint.IsEmpty()) { return; } this.MenuPower = JsonHelper.ToObject(FuncPoint); } /// /// 转换成菜单按钮 /// /// 是否加盟商 /// public MenuButtonView ToMenuButtonView(bool isCustomer) { if (MenuPower == null) { return null; } MenuButtonView button = new MenuButtonView(); if (MenuPower.Page.Any()) { button.Page = MenuPower.Page.Where(x => !isCustomer || x.SysType == 0).Select(x => x.Name).ToList(); } if (MenuPower.PageList.Any()) { button.PageList = MenuPower.PageList.Where(x => !isCustomer || x.SysType == 0).Select(x => x.Name).ToList(); } if (MenuPower.ChildrenList.Any()) { button.ChildrenList = MenuPower.ChildrenList.Where(x => !isCustomer || x.SysType == 0).Select(x => x.Name).ToList(); } return button; } } }