public static FilterDefinition <MongoAssetEntity> BuildQuery(ODataUriParser query, Guid appId) { var filters = new List <FilterDefinition <MongoAssetEntity> > { Filter.Eq(x => x.AppId, appId), Filter.Eq(x => x.IsDeleted, false) }; var filter = query.BuildFilter <MongoAssetEntity>(null, false); if (filter.Filter != null) { if (filter.Last) { filters.Add(filter.Filter); } else { filters.Insert(0, filter.Filter); } } if (filters.Count > 1) { return(Filter.And(filters)); } else if (filters.Count == 1) { return(filters[0]); } else { return(new BsonDocument()); } }
public static FilterDefinition <MongoContentEntity> BuildQuery(ODataUriParser query, Guid schemaId, Status[] status, PropertyCalculator propertyCalculator) { var filters = new List <FilterDefinition <MongoContentEntity> > { Filter.Eq(x => x.SchemaId, schemaId), Filter.In(x => x.Status, status), Filter.Eq(x => x.IsDeleted, false) }; var filter = query.BuildFilter <MongoContentEntity>(propertyCalculator); if (filter.Filter != null) { if (filter.Last) { filters.Add(filter.Filter); } else { filters.Insert(0, filter.Filter); } } if (filters.Count == 1) { return(filters[0]); } else { return(Filter.And(filters)); } }
public static FilterDefinition <MongoAssetEntity> BuildQuery(ODataUriParser query, Guid appId, ITagService tagService) { var convertValue = CreateValueConverter(appId, tagService); var filters = new List <FilterDefinition <MongoAssetEntity> > { Filter.Eq(x => x.IndexedAppId, appId), Filter.Eq(x => x.IsDeleted, false) }; var filter = query.BuildFilter <MongoAssetEntity>(PropertyCalculator, convertValue, false); if (filter.Filter != null) { if (filter.Last) { filters.Add(filter.Filter); } else { filters.Insert(0, filter.Filter); } } if (filters.Count > 1) { return(Filter.And(filters)); } else if (filters.Count == 1) { return(filters[0]); } else { return(new BsonDocument()); } }