예제 #1
0
        public OperatePageResult GetUserList(QueryUserReq pageSize)
        {
            var query = from u in _context.SysUsers.AsNoTracking().Where(w => w.OrgFullPath.StartsWith(pageSize.fullpath))
                        join o in _context.Orgs.AsNoTracking() on u.OrgId equals o.Id into temp
                        from tp in temp.DefaultIfEmpty()
                        select new UserView()
            {
                Id              = u.Id,
                Account         = u.Account,
                CreateTime      = u.CreateTime ?? DateTime.Now,
                CreateUser      = u.Creator,
                OrganizationIds = u.OrgId ?? 0,
                Organizations   = tp.Name,
                Name            = u.Name,
                Sex             = u.Sex ?? 0,
                Status          = u.Status ?? 0,
            };

            if (pageSize.orgId > 0)
            {
                query = query.Where(w => w.OrganizationIds == pageSize.orgId);
            }
            OperatePageResult result = new OperatePageResult
            {
                count = query.Count(),
                data  = query.OrderBy(o => o.Name).Skip((pageSize.page - 1) * pageSize.limit).Take(pageSize.limit).ToList()
            };

            return(result);
        }
예제 #2
0
        public OperatePageResult GetMedicineListByPage(PageSize pageSize)
        {
            var query = _context.Medicines.AsNoTracking().Where(w => w.Status == (int)EDataStatus.valid && w.IsDelete == false).Select(s => new MedicineView()
            {
                Id             = s.Id,
                Code           = s.Code,
                DateinProduced = s.DateinProduced,
                EndTime        = s.EndTime,
                ExpirationDate = s.ExpirationDate,
                Name           = s.Name,
                InventoryNum   = s.Inventory.Total
            });

            if (!string.IsNullOrEmpty(pageSize.key))
            {
                query = query.Where(w => w.Name.Contains(pageSize.key));
            }

            OperatePageResult result = new OperatePageResult
            {
                count = query.Count(),
                data  = query.OrderBy(o => o.Id).Skip((pageSize.page - 1) * pageSize.limit).Take(pageSize.limit).ToList()
            };

            return(result);
        }
예제 #3
0
        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);
        }