/// <summary> /// 根据父级id获取集合 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IList <OrganizationQueryDto> > GetOrganizationByParentId(OrganizationParentRequestDto input) { var list = await _organizationRespository.EntitiesByExpressionAsync(input.GetOrganizationParentTreeExpression(), o => new OrganizationQueryDto { Id = o.Id, Name = o.Name, ParentId = o.ParentId, DepartmentId = o.DepartmentId, }); return(list.ToList());; }
public static Expression <Func <Organization, bool> > GetOrganizationParentTreeExpression(this OrganizationParentRequestDto organizationParentQueryRequest) { var empty = string.Empty; Expression <Func <Organization, bool> > organizationExpressionAnd = m => m.Id.ToString() != empty && m.IsDelete == false; //有查询关键字 if (!string.IsNullOrEmpty(organizationParentQueryRequest.QueryKey)) { organizationExpressionAnd = organizationExpressionAnd.And(m => m.Name.Contains(organizationParentQueryRequest.QueryKey), organizationParentQueryRequest.QueryKey); } else { if (string.IsNullOrEmpty(organizationParentQueryRequest.ParentId) || organizationParentQueryRequest.ParentId == Guid.Empty.ToString()) { organizationExpressionAnd = organizationExpressionAnd.And(m => m.ParentId == Guid.Empty.ToString() || string.IsNullOrEmpty(m.ParentId), Guid.Empty.ToString()); } else { organizationExpressionAnd = organizationExpressionAnd.And(m => m.ParentId == organizationParentQueryRequest.ParentId, organizationParentQueryRequest.ParentId); } } // organizationExpressionAnd = organizationExpressionAnd.And(m => m.CompanyId == organizationParentQueryRequest.CompanyId, organizationParentQueryRequest.CompanyId); return(organizationExpressionAnd); }
/// <summary> /// 根据父级id获取集合 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IList <OrganizationQueryDto> > GetOrganizationByParentId(OrganizationParentRequestDto input) { return(await _organizationAppService.GetOrganizationByParentId(input)); }