namespace Yw.Model.Health
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class AutoEvaluationItem : JsonList<AutoEvaluationItem>
|
{
|
/// <summary>
|
/// 下限
|
/// </summary>
|
public double? MinValue { get; set; }
|
|
/// <summary>
|
/// 上限
|
/// </summary>
|
public double? MaxValue { get; set; }
|
|
/// <summary>
|
/// 表达式(计算表达式)
|
/// </summary>
|
public string Expression { get; set; }
|
|
/// <summary>
|
/// 评价
|
/// </summary>
|
public bool Evaluate(double value, out double outValue)
|
{
|
outValue = value;
|
if (MinValue.HasValue)
|
{
|
if (value < MinValue.Value)
|
return false;
|
}
|
if (MaxValue.HasValue)
|
{
|
if (value > MaxValue.Value)
|
return false;
|
}
|
if (string.IsNullOrEmpty(Expression))
|
return false;
|
try
|
{
|
outValue = DynamicExpresso.Calculator.Eval(this.Expression, value);
|
return true;
|
}
|
catch
|
{
|
return false;
|
}
|
|
}
|
|
|
|
}
|
}
|