using Ardalis.Specification; using DD.Persistence.Database.EntityAbstractions; namespace DD.Persistence.Database.Specifications.ValuesItem; /// /// Спецификация "меньше либо равно" для значений IValuesItem в соответствии с индексацией /// /// public class ValueLessOrEqualSpecification : Specification where TEntity : IValuesItem { public ValueLessOrEqualSpecification(int index, double? value) { Query.Where(e => Convert.ToDouble(e.Values[index]) <= value); } public ValueLessOrEqualSpecification(int index, DateTimeOffset? value) { Query.Where(e => DateTimeOffset.Parse(Convert.ToString(e.Values[index])!) <= value); } }