/// <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());;
        }
Beispiel #2
0
        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));
 }