Custom Data
Add custom or external data to your index.
Task<IImmutableList<T>> Adorn(
IImmutableList<T> items,
DeserializedDataBase<T> rawData,
CancellationToken token);Task<ImmutableDictionary<CultureInfo, IImmutableList<T>>> Adorn(
ImmutableDictionary<CultureInfo, IImmutableList<T>> items,
DeserializedDataBase<T> rawData,
CancellationToken token);public class ProductIdAdorner : IAdorn<ProductSearchModel>
{
private readonly UcommerceDbContext _dbContext;
/// <summary>
/// Constructor
/// </summary>
public ProductIdAdorner(UcommerceDbContext dbContext)
{
_dbContext = dbContext;
}
/// <inheritdoc />
public virtual async Task<IImmutableList<ProductSearchModel>> Adorn(
IImmutableList<ProductSearchModel> items,
DeserializedDataBase<ProductSearchModel> rawData,
CancellationToken token)
{
foreach (var productSearchModel in items)
{
var productEntity = await _dbContext.Products.FirstAsync(p => p.Guid == productSearchModel.Id, token);
productSearchModel["LegacyId"] = productEntity.Id;
}
return items;
}
/// <inheritdoc />
public virtual Task<ImmutableDictionary<CultureInfo, IImmutableList<ProductSearchModel>>> Adorn(
ImmutableDictionary<CultureInfo, IImmutableList<ProductSearchModel>> items,
DeserializedDataBase<ProductSearchModel> rawData,
CancellationToken token) =>
items.InTask();
}Last updated