Commit Graph

41 Commits

Author SHA1 Message Date
Jon Armen
be865152b2 net8-upgrade 2023-11-19 20:32:19 -05:00
Geonosis
b73f748dba
feat(operator): implement EndsWith #85 (#173)
add a new operator
adapt sieve processor
update regex operator to split received filter value
add unit tests & adjust existing ones

Co-authored-by: Erwan RAULO <Erwan.RAULO@vinci-energies.net>
2022-03-30 11:43:35 +03:00
Steven Decoodt
863d75bdc1
Modular mapping configuration (#162)
* Modular configuration for property mappings

* Update Readme, unit tests and sample

Co-authored-by: Steven Decoodt <steven.decoodt@vinci-energies.net>
2022-01-12 22:22:24 +03:00
Nikita Prokhorov
820358e8ff
Fixed null-ref for case-(in)sensitive null-search (#165)
* Fixed null-ref for case-insensitive null-search
Added null-escaping sequence (to distinguish between prop==null (as null) and prop==\null (as string))

* Added null-search case-insensitive test

* Code style

* Added escape-sequences description to README.md

Co-authored-by: Nikita Prokhorov <nikita.prokhorov@grse.de>
2022-01-10 19:29:43 +01:00
AViktorovGRSE
7b6f3c7d85
fixed 163 issue (#164)
* Added ability to skip operators and '\' with \ in filtering.
* Added unit tests for filtering '\|' and skipping operators
2021-12-16 19:50:53 +01:00
ITDancer13
e83d213181
Release Sieve 2.5.0 (#151)
* Setup release 2.5.0 with automated build and pre-releases

* #80 added support for escaping pipe control characters (#113)

* #80 added support for escaping comma and pipe control characters

* Update SieveModel.cs

Fix build. Accidentally broken by resolving conflicts.

* Migrate UnitTests to xUnit

Co-authored-by: Clayton Andersen <candersen@restaurant365.com>
Co-authored-by: ITDancer13 <kevin@ksommer.eu>
Co-authored-by: ITDancer139 <kevinitdancersommer@gmail.com>

* SieveProcessor.Options made protected property (#134)

Mapper assignment in constructor is moved to a null-coalescing member pair (a field and a property)
"IncludeScopes" switch is removed from appSettings.{env}.json files

* Revert to _mapper assignment in constructor. (#140)

* reverting fix (#142)

* Revert to _mapper assignment in constructor.

* reverting fix

* pass filter values as parameters (#112)

make GetClosureOverConstant really work

* Make ApplyFiltering, ApplySorting and ApplyPagination protected virtual #139 (#144)

* stop excluding null values when filtering using notEqual (#114)

* stop excluding null values when filtering using notEqual
* add IgnoreNullsOnNotEqual config field, to enable/disable the new feature

Co-authored-by: AnasZakarneh <a.zakarneh@foothillsolutions.com>

Co-authored-by: Clayton Andersen <tunaman65@gmail.com>
Co-authored-by: Clayton Andersen <candersen@restaurant365.com>
Co-authored-by: ITDancer139 <kevinitdancersommer@gmail.com>
Co-authored-by: Hasan Manzak <hasan.manzak@gmail.com>
Co-authored-by: alicak <alicak@users.noreply.github.com>
Co-authored-by: AnasZakarneh <Zakarnehanas1@gmail.com>
Co-authored-by: AnasZakarneh <a.zakarneh@foothillsolutions.com>
2021-08-29 16:30:19 +02:00
ITDancer139
428acd7558 * Migrate tests to xunit
* Update sample project to dotnetcore3.1
* Use Sqlite in sample project to run it everywhere
* Fix: Filter with escaped comma
* Fix: Filter "null" does not work with Contains or StartsWith
* Code cleanup: Adjust namespaces, adjust usings
2021-05-13 14:04:18 +02:00
Hasan
a4509bb8f0
OrderByDynamic is modified to be able to handle inherited members, such as interface members.
SieveProcessor is modified to pass propertyInfo to OrderByDynamic to avoid reattainment of propertyInfo required in Expression.MakeMemberAccess.
SieveProcessor is modified to be able to handle possible multiple incompatible customMethods via AggregateException.
Corresponding interfaces are generated for entities with related inheritance.
ApplicationSieveProcessor is modified to include interface members.
SieveCustomFilterMethods and SieveCustomSortMethod are modified to include interface related custom method modifications.
Interface accessed unit tests are added.
2020-11-03 12:42:41 +03:00
Kevin Dost
f39944d0e4 Add filtering on null. 2020-10-23 18:15:58 +02:00
Ashish Patel
b47ed62f77
Merge pull request #95 from kevindost/fix/accessing-null-members
Fix issue where sorting or filtering a collection fails on accesssing null members.
2020-10-23 02:00:48 +05:30
Kevin Dost
b8f92bccfc Add unit tests for filtering and sorting null members. 2020-10-22 22:21:05 +02:00
Ashish Patel
cada68a83b
Merge pull request #89 from awegg/master
Fix issue with spaces after comma and or filters
2020-10-23 00:43:05 +05:30
Kevin Dost
5c2ef3773e Fix issue where sorting or filtering a collection fails on accesssing null members. 2020-10-21 17:50:03 +02:00
Alexander Weggerle
4cac27c22d 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.
2020-07-06 22:03:45 +02:00
Alexander Weggerle
6684524fcd Fix issue with spaces after comma and or filters
Combined filters separated with comma and a space resulted in an error. 
Example: 
Title==D, (Title|LikeCount)==3
Caused the error: "(Title not found"

Extended regex to allow whitespaces after the comma as documented.
2020-07-04 21:16:54 +02:00
Biarity
d86e35f77c v2.3.3 2019-11-17 09:15:07 +10:00
Biarity
c04d94d22a
Merge pull request #60 from skolmer/generics
Added support for generic filter and sort methods
2019-11-16 10:55:18 +10:00
Steffen Kolmer
cfd380d93f Allow case insensitive not equals operator 2019-11-05 15:10:44 +01:00
Steffen Kolmer
e1bb069253 Added support for generic filter and sort methods 2019-03-24 19:45:23 +01:00
Biarity
a582c6be06 Use Comment.Text instead of ValueObjects.Name 2019-03-18 08:23:37 +10:00
radeanurazvan
d5ed13e823 Allowed configuring properties with identical name 2019-02-03 18:10:34 +02:00
Biarity
574538e7da Unit tests for #51 2019-01-18 20:45:38 +10:00
SuperGouge
194b1d9fb5 Added negation operator 2019-01-08 17:20:49 +01:00
Biarity
c818267526 Document & test multiple values for 2.2.0. Closes #46 2018-11-30 09:08:39 +10:00
Biarity
faa363edbb Added OR flitering for values and ability to escape delimiters. Fixes #8, #21, and #41 2018-11-16 18:08:25 +10:00
Biarity
f9c7fb4cb0 Convert parsing from getters to methods 2018-07-06 11:12:45 +10:00
Biarity
b92df9833d Fixes #33 2018-07-04 13:06:37 +10:00
Matt Furden
d792813cd5 Allow Filters on different sources to share the same name
Allows Posts and Comments to both use the IsNew filter with their own implementations.
2018-06-15 01:41:01 -07:00
Biarity
abb7029c70 Fixes #28 2018-06-14 18:50:19 +10:00
Matt Furden
26d9b09bf7 Set up Nullable Test 2018-05-27 18:32:21 -07:00
Biarity
fe71c7f392 Fix test filter parameters and add new editorconfig 2018-05-25 18:30:44 +10:00
David Bond
204a1b55e2 Fix for Issue #19 2018-05-15 00:34:37 +01:00
Biarity
033a920bec Version 2.0 2018-04-20 19:27:04 +10:00
Biarity
c861ada8fa Tests for simple OR logic functionality (#8) 2018-04-20 18:46:04 +10:00
Biarity
47fd6307a0 Boolean sorting & filtering tests 2018-04-08 13:46:16 +10:00
Biarity
e83f647945 Made excepton handling optional, off by default 2018-02-14 08:52:13 +10:00
Biarity
b70eb3471d Tested exception handling (#7) 2018-02-14 08:43:33 +10:00
Biarity
3068c476e1 Custom filters/sorts case-insensitivity 2018-02-11 13:35:33 +10:00
Biarity
e96ab03f81 Fixed typos/style 2018-02-10 16:10:50 +10:00
Biarity
0bd38b8348 SievePropertyMapper for #4 2018-02-10 15:37:04 +10:00
Biarity
2796197cc9 Added case-insensitive operators and started unit tests project 2018-02-10 10:26:32 +10:00