Exemple #1
0
 public List <OAuthClient> GetAll(OAuthClientFilter filter = null)
 {
     using (var context = new DeviceHiveContext())
     {
         return(context.OAuthClients.Filter(filter).ToList());
     }
 }
Exemple #2
0
 public List <OAuthClient> GetAll(OAuthClientFilter filter = null)
 {
     return(_mongo.OAuthClients.AsQueryable().Filter(filter).ToList());
 }
Exemple #3
0
        public static IQueryable <OAuthClient> Filter(this IQueryable <OAuthClient> query, OAuthClientFilter filter)
        {
            if (filter == null)
            {
                return(query);
            }

            if (filter.Name != null)
            {
                query = query.Where(e => e.Name == filter.Name);
            }

            if (filter.NamePattern != null)
            {
                query = query.Where(e => e.Name.Contains(filter.NamePattern));
            }

            if (filter.Domain != null)
            {
                query = query.Where(e => e.Domain == filter.Domain);
            }

            if (filter.OAuthID != null)
            {
                query = query.Where(e => e.OAuthID == filter.OAuthID);
            }

            if (filter.SortField != OAuthClientSortField.None)
            {
                switch (filter.SortField)
                {
                case OAuthClientSortField.ID:
                    query = query.OrderBy(e => e.ID, filter.SortOrder);
                    break;

                case OAuthClientSortField.Name:
                    query = query.OrderBy(e => e.Name, filter.SortOrder);
                    break;

                case OAuthClientSortField.Domain:
                    query = query.OrderBy(e => e.Domain, filter.SortOrder);
                    break;

                case OAuthClientSortField.OAuthID:
                    query = query.OrderBy(e => e.OAuthID, filter.SortOrder);
                    break;
                }
            }

            if (filter.Skip != null)
            {
                query = query.Skip(filter.Skip.Value);
            }

            if (filter.Take != null)
            {
                query = query.Take(filter.Take.Value);
            }

            return(query);
        }