/// <summary> /// 查询子级分类 /// </summary> /// <param name="parentId">父级分类id</param> /// <param name="recursive">是否无限向下查询</param> /// <returns></returns> protected async Task <List <CourseCategory> > FindChildrenAsync(long?parentId, bool recursive = false) { if (!recursive) { return(await EntityRepo.GetAllListAsync(ou => ou.ParentId == parentId)); } if (!parentId.HasValue) { return(await EntityRepo.GetAllListAsync()); } var code = await GetCodeAsync(parentId.Value); return(await EntityRepo.GetAllListAsync( ou => ou.Code.StartsWith(code) && ou.Id != parentId.Value )); }
/// <summary> /// 获取最后一个分类 /// </summary> /// <param name="parentId"></param> /// <returns></returns> protected virtual async Task <CourseCategory> GetLastChildOrNullAsync(long?parentId) { var children = await EntityRepo.GetAllListAsync(ou => ou.ParentId == parentId); return(children.OrderBy(c => c.Code).LastOrDefault()); }