Filtering

AutoFilterer aims to keep strong type models and just removes complicated algorithms.

Showcase

[HttpGet]
public IActionResult Get([FromQuery]BookFilter filter)
{
    var result = db.Books.ApplyFilter(filter).ToList();
    return Ok(result);
}

Implementation

You just need to create a Filter object that includes properties which is able to filter.

public class BookFilter : FilterBase // <-- Just inherit FilterBase
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int? Year { get; set; } // <-- ValueTypes must be nullable
    // ...
    // Only written properties can be filterable
}

TODO: Move following topics here:

Filtering · enisn/AutoFilterer Wiki (github.com)

Array Search · enisn/AutoFilterer Wiki (github.com)

Advanced Queries · enisn/AutoFilterer Wiki (github.com)

Operator Comparisons · enisn/AutoFilterer Wiki (github.com)

String Comparisons · enisn/AutoFilterer Wiki (github.com)

OperatorComparison · enisn/AutoFilterer Wiki (github.com)

OperatorFilter · enisn/AutoFilterer Wiki (github.com)

StringFilter · enisn/AutoFilterer Wiki (github.com)

Working with Range · enisn/AutoFilterer Wiki (github.com)

In this document