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); } }