[HttpPost]
public ReturnNode GetMenulists(GetMenuListInput input)
{
var list = dbContext.yf_menu.AsQueryable<yf_menu>().ToList();
var newlist = new List<GetMenuListOutput>();
foreach (yf_menu menu in list)
{
GetMenuListOutput newinput = new GetMenuListOutput();
newinput.createtime = menu.createtime;
newinput.id = menu.id;
newinput.menuname = menu.menuname;
newinput.menuurl = menu.menuurl;
newinput.note = menu.note;
newinput.parentid = menu.parentid;
//newinput.actionList = actionList.Where(u => u.menuid == menu.id).ToList();
newlist.Add(newinput);
}
if (input.outDataType == 1)//树形
{
GetMenuListOutput tree = initMenuTree(newlist.Where(u => u.parentid == 0).FirstOrDefault(), newlist);
return ReturnNode.ReturnSuccess(tree);
}
else if (input.outDataType == 2)//数据字典
{
return ReturnNode.ReturnSuccess(newlist.ToDictionary(u => u.id));
}
else//数组
{
return ReturnNode.ReturnSuccess(newlist);
}
}
//生成树
private GetMenuListOutput initMenuTree(GetMenuListOutput menu, List<GetMenuListOutput> list)
{
var chirldens = list.Where(u => u.parentid == menu.id);
menu.childrens = new List<GetMenuListOutput>();
foreach (var node in chirldens)
{
var newnode = initMenuTree(node, list);
menu.childrens.Add(newnode);
}
return menu;
}
public ReturnNode GetMenulists(GetMenuListInput input)
{
var list = dbContext.yf_menu.AsQueryable<yf_menu>().ToList();
var newlist = new List<GetMenuListOutput>();
foreach (yf_menu menu in list)
{
GetMenuListOutput newinput = new GetMenuListOutput();
newinput.createtime = menu.createtime;
newinput.id = menu.id;
newinput.menuname = menu.menuname;
newinput.menuurl = menu.menuurl;
newinput.note = menu.note;
newinput.parentid = menu.parentid;
//newinput.actionList = actionList.Where(u => u.menuid == menu.id).ToList();
newlist.Add(newinput);
}
if (input.outDataType == 1)//树形
{
GetMenuListOutput tree = initMenuTree(newlist.Where(u => u.parentid == 0).FirstOrDefault(), newlist);
return ReturnNode.ReturnSuccess(tree);
}
else if (input.outDataType == 2)//数据字典
{
return ReturnNode.ReturnSuccess(newlist.ToDictionary(u => u.id));
}
else//数组
{
return ReturnNode.ReturnSuccess(newlist);
}
}
//生成树
private GetMenuListOutput initMenuTree(GetMenuListOutput menu, List<GetMenuListOutput> list)
{
var chirldens = list.Where(u => u.parentid == menu.id);
menu.childrens = new List<GetMenuListOutput>();
foreach (var node in chirldens)
{
var newnode = initMenuTree(node, list);
menu.childrens.Add(newnode);
}
return menu;
}