public OperatePageResult GetSubOrgs(QueryOrgReq req) { var query = from p in _context.Orgs.AsNoTracking().Where(w => w.FullPath.StartsWith(req.fullpath) && w.Status == (int)EDataStatus.valid && w.IsDelete == false) join o in _context.Orgs.AsNoTracking().Where(w => w.Status == (int)EDataStatus.valid && w.IsDelete == false) on p.Pid equals o.Id into temp from tp in temp.DefaultIfEmpty() select new OrgView() { Id = p.Id, Sort = p.Sort, FullPath = p.FullPath, FullPathText = p.FullPathText, Name = p.Name, ParentName = tp.Name, Pid = p.Pid }; if (req.orgId > 0) { query = query.Where(w => w.Id == req.orgId || w.Pid == req.orgId); } OperatePageResult result = new OperatePageResult { count = query.Count(), data = query.OrderBy(o => o.Id).Skip((req.page - 1) * req.limit).Take(req.limit).ToList() }; return(result); }
public string GetSubOrgs(QueryOrgReq req) { req.fullpath = CurrentUser.OrgFullPath; return(JsonHelper.Instance.Serialize(_orgService.GetSubOrgs(req))); }