diff --git a/src/AutoFilterer/Abstractions/IOrderable.cs b/src/AutoFilterer/Abstractions/IOrderable.cs index 230c9e3..45e01a5 100644 --- a/src/AutoFilterer/Abstractions/IOrderable.cs +++ b/src/AutoFilterer/Abstractions/IOrderable.cs @@ -10,7 +10,7 @@ public interface IOrderable { [IgnoreFilter] Sorting SortBy { get; set; } - [IgnoreFilter] string Sort { get; } + [IgnoreFilter] string? Sort { get; } IOrderedQueryable ApplyOrder(IQueryable source); } diff --git a/src/AutoFilterer/Abstractions/IPaginationFilter.cs b/src/AutoFilterer/Abstractions/IPaginationFilter.cs index 2ddb7f7..94bde32 100644 --- a/src/AutoFilterer/Abstractions/IPaginationFilter.cs +++ b/src/AutoFilterer/Abstractions/IPaginationFilter.cs @@ -5,8 +5,8 @@ namespace AutoFilterer.Abstractions; public interface IPaginationFilter : IFilter { - [IgnoreFilter] int Page { get; set; } - [IgnoreFilter] int PerPage { get; set; } + [IgnoreFilter] int? Page { get; set; } + [IgnoreFilter] int? PerPage { get; set; } IQueryable ApplyFilterWithoutPagination(IQueryable query); } diff --git a/src/AutoFilterer/Types/OrderableBase.cs b/src/AutoFilterer/Types/OrderableBase.cs index ed54315..1491728 100644 --- a/src/AutoFilterer/Types/OrderableBase.cs +++ b/src/AutoFilterer/Types/OrderableBase.cs @@ -16,7 +16,7 @@ public class OrderableBase : IOrderable private static readonly MethodInfo orderByDescending = typeof(Queryable).GetMethods().First(x => x.Name == nameof(Queryable.OrderByDescending)); [IgnoreFilter] public virtual Sorting SortBy { get; set; } - [IgnoreFilter] public virtual string Sort { get; } + [IgnoreFilter] public virtual string? Sort { get; } public virtual IOrderedQueryable ApplyOrder(IQueryable queryable) { diff --git a/src/AutoFilterer/Types/PaginationFilterBase.cs b/src/AutoFilterer/Types/PaginationFilterBase.cs index f6612a0..2ec2ac7 100644 --- a/src/AutoFilterer/Types/PaginationFilterBase.cs +++ b/src/AutoFilterer/Types/PaginationFilterBase.cs @@ -9,21 +9,21 @@ namespace AutoFilterer.Types; public class PaginationFilterBase : OrderableFilterBase, IOrderablePaginationFilter { [IgnoreFilter] - public virtual int Page { get; set; } = 1; + public virtual int? Page { get; set; } = 1; [IgnoreFilter] - public virtual int PerPage { get; set; } = 10; + public virtual int? PerPage { get; set; } = 10; public override IQueryable ApplyFilterTo(IQueryable query) { if (query is IOrderedQueryable ordered) return this.ApplyFilterTo(ordered); - return base.ApplyFilterTo(query).ToPaged(Page, PerPage); + return base.ApplyFilterTo(query).ToPaged(Page ?? 1, PerPage ?? 10); } public virtual IQueryable ApplyFilterTo(IOrderedQueryable query) - => base.ApplyFilterTo(query).ToPaged(Page, PerPage); + => base.ApplyFilterTo(query).ToPaged(Page ?? 1, PerPage ?? 10); public virtual IQueryable ApplyFilterWithoutPagination(IQueryable query) => base.ApplyFilterTo(query); diff --git a/src/AutoFilterer/Types/StringFilter.cs b/src/AutoFilterer/Types/StringFilter.cs index df058b8..b5e08af 100644 --- a/src/AutoFilterer/Types/StringFilter.cs +++ b/src/AutoFilterer/Types/StringFilter.cs @@ -15,47 +15,47 @@ public class StringFilter : IFilterableType /// /// Provides parameter for equal operator '==' in query. /// - public virtual string Eq { get; set; } + public virtual string? Eq { get; set; } /// /// Provides parameter to not equal operator '!=' in query. /// - public virtual string Not { get; set; } + public virtual string? Not { get; set; } /// /// Provides parameter to String.Equals method query. /// - public virtual new string Equals { get; set; } + public virtual new string? Equals { get; set; } /// /// Provides parameter to String.Contains method query. /// - public virtual string Contains { get; set; } + public virtual string? Contains { get; set; } /// /// Provides parameter to !String.Contains method query. /// - public virtual string NotContains { get; set; } + public virtual string? NotContains { get; set; } /// /// Provides parameter to String.StartsWith method query. /// - public virtual string StartsWith { get; set; } + public virtual string? StartsWith { get; set; } /// /// Provides parameter to !String.StartsWith method query. /// - public virtual string NotStartsWith { get; set; } + public virtual string? NotStartsWith { get; set; } /// /// Provides parameter to String.EndsWith method query. /// - public virtual string EndsWith { get; set; } + public virtual string? EndsWith { get; set; } /// /// Provides parameter to !String.EndsWith method query. /// - public virtual string NotEndsWith { get; set; } + public virtual string? NotEndsWith { get; set; } /// /// Provides parameter to check is null.