persistence/DD.Persistence.Database/Specifications/ValuesItem/ValueLessSpecification.cs

23 lines
759 B
C#
Raw Normal View History

using Ardalis.Specification;
using DD.Persistence.Database.EntityAbstractions;
namespace DD.Persistence.Database.Specifications.ValuesItem;
/// <summary>
/// Спецификация "меньше" для значений IValuesItem в соответствии с индексацией
/// </summary>
/// <typeparam name="TEntity"></typeparam>
public class ValueLessSpecification<TEntity> : Specification<TEntity>
where TEntity : IValuesItem
{
2025-02-06 12:32:28 +05:00
public ValueLessSpecification(int index, string? value)
{
2025-02-06 12:32:28 +05:00
Query.Where(e => string.Compare(Convert.ToString(e.Values[index]), value) < 0);
}
2025-02-06 12:32:28 +05:00
public ValueLessSpecification(int index, double? value)
{
2025-02-06 12:32:28 +05:00
Query.Where(e => Convert.ToDouble(e.Values[index]) < value);
}
}