Files
qbtmud/Lantean.QBTMud/Filter/PropertyFilterDefinition.cs
2024-10-22 09:57:50 +01:00

28 lines
737 B
C#

using System.Linq.Expressions;
namespace Lantean.QBTMud.Filter
{
public record PropertyFilterDefinition<T>
{
public PropertyFilterDefinition(string column, string @operator, object? value)
{
var (expression, propertyType) = ExpressionModifier.CreatePropertySelector<T>(column);
Column = column;
ColumnType = propertyType;
Operator = @operator;
Value = value;
Expression = expression;
}
public string Column { get; }
public Type ColumnType { get; }
public string Operator { get; set; }
public object? Value { get; set; }
public Expression<Func<T, object?>> Expression { get; }
}
}