// Returns the ID's of the items, if order is provided the IDs are sorted. public IEnumerable <Guid> FilterPlaylistItems(IEnumerable <BaseItem> items, ILibraryManager libraryManager, User user) { var results = new List <BaseItem> { }; var compiledRules = CompileRuleSets(); foreach (var i in items) { var operand = OperandFactory.GetMediaType(libraryManager, i, user); if (compiledRules.Any(set => set.All(rule => rule(operand)))) { results.Add(i); } } return(Order.OrderBy(results).Select(x => x.Id)); }
private static Operand GetOperand(double value) { var sut = new OperandFactory(); return(sut.Create(value)); }