diff --git a/Diffusion.Database/QueryBuilder.Filter.cs b/Diffusion.Database/QueryBuilder.Filter.cs index c67e707..99126dd 100644 --- a/Diffusion.Database/QueryBuilder.Filter.cs +++ b/Diffusion.Database/QueryBuilder.Filter.cs @@ -192,11 +192,18 @@ private static void FilterAestheticScore(Filter filter, List($"(AestheticScore {oper} ?)", filter.AestheticScore)); - } else if (filter.NoAestheticScore) - { - conditions.Add(new KeyValuePair($"(AestheticScore IS NULL)", null)); + if (filter.NoAestheticScore) + { + conditions.Add(new KeyValuePair($"(AestheticScore IS NULL)", null)); + } + else + { + var oper = filter.AestheticScoreOp; + if (oper is { Length: > 0 } && filter.AestheticScore.HasValue) + { + conditions.Add(new KeyValuePair($"(AestheticScore {oper} ?)", filter.AestheticScore)); + } + } } } @@ -205,11 +212,18 @@ private static void FilterRating(Filter filter, List($"(Rating {oper} ?)", filter.Rating)); - } else if (filter.Unrated) - { - conditions.Add(new KeyValuePair($"(Rating IS NULL)", null)); + if (filter.Unrated) + { + conditions.Add(new KeyValuePair($"(Rating IS NULL)", null)); + } + else + { + var oper = filter.RatingOp; + if (oper is { Length: > 0 } && filter.Rating.HasValue) + { + conditions.Add(new KeyValuePair($"(Rating {oper} ?)", filter.Rating)); + } + } } }