Fix issue where the order of Filter expressions changed the result.

The following filter criteria should result in the same output, but
does not:
"CategoryId==1,(CategoryId|LikeCount)==50"
"(CategoryId|LikeCount)==50,CategoryId==1"

Cause is an optimization which removes or statements if one term
was already added in another statement. This optimization causes
a wrong result.
This commit is contained in:
Alexander Weggerle
2020-07-06 21:48:52 +02:00
parent d86e35f77c
commit 4cac27c22d
2 changed files with 19 additions and 4 deletions

View File

@@ -44,10 +44,7 @@ namespace Sieve.Models
{
Filter = subfilters + filterOpAndVal
};
if (!value.Any(f => f.Names.Any(n => filterTerm.Names.Any(n2 => n2 == n))))
{
value.Add(filterTerm);
}
value.Add(filterTerm);
}
else
{