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