private async Task GetChildAsync(IList <SmsCategory> allCategories, SmsCategoryModel smsCategoryModel) { var list = allCategories.Where(m => m.ParentId == smsCategoryModel.value).Select(m => new SmsCategoryModel { value = m.CategoryId, label = m.CategoryName }).ToList(); foreach (var item in list) { if (allCategories.Any(m => m.ParentId == item.value)) { item.children = new List <SmsCategoryModel>(); await GetChildAsync(allCategories, item); } } smsCategoryModel.children.AddRange(list); }
public new async Task <List <SmsCategoryModel> > GetAll() { var list = await SmsCategoryRepository.GetAll(); foreach (var item in list.Where(m => m.ParentId == 0)) { var model = new SmsCategoryModel { value = item.CategoryId, label = item.CategoryName }; if (list.Any(m => m.ParentId == item.CategoryId)) { model.children = new List <SmsCategoryModel>(); await GetChildAsync(list, model); } smsCategories.Add(model); } return(smsCategories); }