public PagedData <User> Query(int page, int pageSize, UserQuery query) { var users = _fetcher.Query <User>(); if (!string.IsNullOrEmpty(query.Username)) { users = users.Where(x => x.Username.Contains(query.Username)); } if (!string.IsNullOrEmpty(query.RealName)) { users = users.Where(x => x.RealName.Contains(query.RealName.Trim())); } if (!string.IsNullOrEmpty(query.Email)) { users = users.Where(x => x.Email.Contains(query.Email)); } if (query.RoleType != null) { users = users.Where(x => x.RoleType == (RoleType)query.RoleType.Value); } //if (query.RoleId.HasValue) //{ // users = users.Where(x => x.Roles.Select(s => s.Id).Contains(query.RoleId.Value)); //} if (query.IsEnabled.HasValue) { users = users.Where(x => x.IsEnabled == query.IsEnabled); } return(_fetcher.QueryPaged <User>(users.OrderBy(x => x.RoleType).ThenBy(x => x.CreatedOn), page, pageSize)); }
public PagedData <Role> Query(int page, int pageSize, RoleQuery query) { var sql = "SELECT * FROM [Role] WHERE 1=1"; if (!string.IsNullOrEmpty(query.RoleName)) { sql += " AND Name=@RoleName"; } return(_fetcher.QueryPaged <Role>(sql, "Id", page, pageSize, query)); }