XiChang/DM_Weight/Common/TemperatureRule.cs

60 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Data;
namespace DM_Weight.Common
{
//设置冰箱温度规则
public class TemperatureRule : ValidationRule
{
//冰箱温度设置区间为取自配置文件2~8度
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
bool flag = false;
string tips = string.Empty;
try
{
bool bValue = decimal.TryParse(value.ToString(), out decimal mValue);
if (!bValue)
{
tips = "请输入正确的数值";
return new ValidationResult(flag, tips);
}
decimal f = Math.Abs(mValue - (int)mValue);
if (f.ToString().Length > 3)
{
tips = "温度区间设置保留小数点后一位,请检查输入";
return new ValidationResult(flag, tips);
}
string[] temperatureRange = CommonClass.ReadAppSetting("temperatureRange").Split('-');
if (temperatureRange.Length > 0)
{
int iMin = int.Parse(temperatureRange[0]);
int iMax = int.Parse(temperatureRange[1]);
if (mValue < iMin || mValue > iMax)
{
tips = $"温度区间设置为{iMin}~{iMax}度,保留小数点后一位,请检查输入";
}
else
{
flag = true;
}
}
return new ValidationResult(flag, tips);
}
catch (Exception ex)
{
tips = $"校验异常{ex.ToString()}";
return new ValidationResult(flag, tips);
}
}
}
}