src/ZKEACMS/Common/ViewModels/NavigationWidgetViewModel.cs
(完整代码) 1KB/* http://www.zkea.net/
* Copyright (c) ZKEASOFT. All rights reserved.
* http://www.zkea.net/licenses */
using System.Collections.Generic;
using ZKEACMS.Common.Models;
using System.Linq;
namespace ZKEACMS.Common.ViewModels
{
public class NavigationWidgetViewModel
{
public NavigationWidgetViewModel(IEnumerable<NavigationEntity> navigation, NavigationWidget widget)
{
_navs = navigation;
Widget = widget;
}
private IEnumerable<NavigationEntity> _navs;
public IEnumerable<NavigationViewModel> Navigations
{
get
{
foreach (var item in _navs.Where(m => m.ParentId == Widget.RootID))
{
yield return new NavigationViewModel(_navs, item);
}
}
}
public NavigationWidget Widget { get; set; }
public IEnumerable<NavigationEntity> Mobiles
{
get { return LoadMobiles(_navs.Where(m => m.ParentId == Widget.RootID).ToList()); }
}
private IList<NavigationEntity> LoadMobiles(IEnumerable<NavigationEntity> navs)
{
List<NavigationEntity> mobileNavs = new List<NavigationEntity>();
if (!navs.Any())
{
return mobileNavs;
}
mobileNavs.AddRange(navs.Where(m => m.IsMobile ?? false).ToList());
foreach (var item in navs)
{
mobileNavs.AddRange(LoadMobiles(_navs.Where(m => m.ParentId == item.ID).ToList()));
}
return mobileNavs;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。