public async Task <List <LayuiTreeViewModel> > GetViewModel() { var viewModelList = new List <LayuiTreeViewModel>(); var list = await _repository.FindListByClauseAsync(s => s.EnabledMark == true && s.DeleteMark == false); list.Where(s => s.ParentId == "0").ToList().ForEach(item => { var viewModel = new LayuiTreeViewModel(); viewModel.id = item.Id; viewModel.title = item.FullName; GetItemsEntityByParentId(item.Id, viewModel, list); viewModelList.Add(viewModel); }); return(viewModelList); }
private LayuiTreeViewModel GetItemsEntityByParentId(string parendId, LayuiTreeViewModel viewModel, IEnumerable<ItemsEntity> list) { var items = list.Where(s => s.ParentId.Equals(parendId)); if (!items.Any()) return null; List<LayuiTreeViewModel> layuiTreeViewModelsList = new List<LayuiTreeViewModel>(); items.ToList().ForEach(item => { LayuiTreeViewModel layuiTreeViewModel = new LayuiTreeViewModel { id = item.Id, title = item.FullName }; GetItemsEntityByParentId(item.Id, layuiTreeViewModel, list); layuiTreeViewModelsList.Add(layuiTreeViewModel); }); viewModel.children = layuiTreeViewModelsList; return viewModel; }