Sieve/Sieve.Sample/Services/ApplicationSieveProcessor.cs

32 lines
1.1 KiB
C#
Raw Normal View History

2018-02-10 06:37:04 +01:00
using Microsoft.Extensions.Options;
using Sieve.Models;
using Sieve.Sample.Entities;
2018-02-10 06:37:04 +01:00
using Sieve.Services;
namespace Sieve.Sample.Services
2018-02-10 06:37:04 +01:00
{
2019-11-17 00:15:07 +01:00
public class ApplicationSieveProcessor : SieveProcessor
2018-02-10 06:37:04 +01:00
{
public ApplicationSieveProcessor(IOptions<SieveOptions> options, ISieveCustomSortMethods customSortMethods, ISieveCustomFilterMethods customFilterMethods) : base(options, customSortMethods, customFilterMethods)
{
}
protected override SievePropertyMapper MapProperties(SievePropertyMapper mapper)
{
// Option 1: Map all properties centrally
2018-02-10 06:37:04 +01:00
mapper.Property<Post>(p => p.Title)
.CanSort()
.CanFilter()
.HasName("CustomTitleName");
// Option 2: Manually apply functionally grouped mapping configurations
//mapper.ApplyConfiguration<SieveConfigurationForPost>();
// Option 3: Scan and apply all configurations
//mapper.ApplyConfigurationsFromAssembly(typeof(ApplicationSieveProcessor).Assembly);
2018-02-10 06:37:04 +01:00
return mapper;
}
}
}