public IMongoQueryable <Device> FilterSource(IMongoQueryable <Site> source) { var devicesSource = source .SelectMany(e => e.Devices); return(FilterSource(devicesSource)); }
public IMongoQueryable<Alarm> FilterSource(IMongoQueryable<Device> source) { if(Gravity != Alarm.Gravity.All) { source = source.Where(e => e.Alarms.Any(a => a.AlarmGravity == Gravity)); } if(AlarmType != Alarm.Type.All) { source = source.Where(e => e.Alarms.Any(a => a.AlarmType == AlarmType)); } return source.SelectMany(e => e.Alarms); }
public IMongoQueryable <Device> FilterSource(IMongoQueryable <Site> source) { IMongoQueryable <Device> devicesSource; source = source.Where(e => e.SiteType == Context); if (string.IsNullOrEmpty(SiteId)) { devicesSource = source.SelectMany(e => e.Devices); } else { devicesSource = source .Where(e => e.Id.Equals(SiteId)) .SelectMany(e => e.Devices); } return(FilterSource(devicesSource)); }