Example #1
0
        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));
        }