public GetsResult<IdWithName> Get(PageParams param) { var result = GetDefault<GetsResult<IdWithName>>(); var query = DbEntities.UserFunctionalities.OrderByDescending(x => x.Id).AsQueryable(); if (!string.IsNullOrWhiteSpace(param.Name)) query = query.Where(x => x.Name.Contains(param.Name)); result.Total = query.Count(); result.Data = query.Skip((param.Current - 1) * param.Size).Take(param.Size).Select(x => new IdWithName() { Id = x.Id, Name = x.Name }).ToList(); return result; }
public GetsResult<UserDetails> Gets(PageParams param) { var result = GetDefault<GetsResult<UserDetails>>(); var query = DbEntities.Users.OrderByDescending(x => x.Id).AsQueryable(); if (!string.IsNullOrWhiteSpace(param.Name)) { switch (param.Type) { case 0: query = query.Where(x => x.Name.Contains(param.Name) || x.Email.Contains(param.Name)); break; case 1: query = query.Where(x => x.Name.Contains(param.Name)); break; case 2: query = query.Where(x => x.Email.Contains(param.Name)); break; } } result.Total = query.Count(); result.Data = query.Skip((param.Current - 1) * param.Size).Take(param.Size).Select(x => new UserDetails() { CreateTime = x.CreateTime, Email = x.Email, Id = x.Id, State = x.State, Name = x.Name, RealName = x.RealName, Password = "******", Roles = x.UserToUserRoles.Take(4).Select(z => new IdWithName() { Id = z.UserRole.ID, Name = z.UserRole.RoleName }).ToList(), TotalRole = x.UserToUserRoles.Count() }).ToList(); return result; }