Filtration/Filtration.ObjectModel/NumericFilterPredicate.cs

60 lines
1.6 KiB
C#
Raw Normal View History

2015-06-04 13:15:54 -04:00
using System.ComponentModel;
using System.Runtime.CompilerServices;
2015-06-24 14:57:16 -04:00
using Filtration.ObjectModel.Annotations;
using Filtration.ObjectModel.Enums;
using Filtration.ObjectModel.Extensions;
2015-06-04 13:15:54 -04:00
2015-06-24 14:57:16 -04:00
namespace Filtration.ObjectModel
2015-06-04 13:15:54 -04:00
{
2015-06-24 14:57:16 -04:00
public class NumericFilterPredicate : INotifyPropertyChanged
2015-06-04 13:15:54 -04:00
{
private FilterPredicateOperator _predicateOperator;
private int _predicateOperand;
public NumericFilterPredicate(FilterPredicateOperator predicateOperator, int predicateOperand)
{
PredicateOperator = predicateOperator;
PredicateOperand = predicateOperand;
}
public NumericFilterPredicate()
{
}
public FilterPredicateOperator PredicateOperator
{
get { return _predicateOperator; }
set
{
_predicateOperator = value;
OnPropertyChanged();
}
}
public int PredicateOperand
{
get { return _predicateOperand; }
set
{
_predicateOperand = value;
OnPropertyChanged();
}
}
public override string ToString()
{
return PredicateOperator.GetAttributeDescription() + " " + PredicateOperand;
}
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
public virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
var handler = PropertyChanged;
handler?.Invoke(this, new PropertyChangedEventArgs(propertyName));
2015-06-04 13:15:54 -04:00
}
}
}