public List <DeviceClass> GetAll(DeviceClassFilter filter = null)
 {
     using (var context = new DeviceHiveContext())
     {
         return(context.DeviceClasses
                .Include(e => e.Equipment)
                .Filter(filter).ToList());
     }
 }
示例#2
0
        public static IQueryable <DeviceClass> Filter(this IQueryable <DeviceClass> query, DeviceClassFilter 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.Version != null)
            {
                query = query.Where(e => e.Version == filter.Version);
            }

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

                case DeviceClassSortField.Name:
                    query = query.OrderBy(e => e.Name, 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);
        }
示例#3
0
 public List <DeviceClass> GetAll(DeviceClassFilter filter = null)
 {
     return(_mongo.DeviceClasses.AsQueryable().Filter(filter).ToList());
 }