コード例 #1
0
        public async Task <List <OrganizationUnit> > FindChildrenAsync(long?parentId, bool recursive = false)
        {
            if (!recursive)
            {
                return(await OrganizationUnitRepository.GetAllListAsync(ou => ou.ParentId == parentId));
            }

            if (!parentId.HasValue)
            {
                return(await OrganizationUnitRepository.GetAllListAsync());
            }

            var code = await GetCodeAsync(parentId.Value);

            return(await OrganizationUnitRepository.GetAllListAsync(
                       ou => ou.Code.StartsWith(code) && ou.Id != parentId.Value
                       ));
        }