0

请考虑我在一个实体中有一个属性

        public double RealVolume
        {
            get
            {
                return _RealVolume;
            }
            set
            {
                SetPropertyValue("RealVolume", ref _RealVolume, value);
            }
        }   

然后我也有

        [Browsable(false)]
        public VolumeType VolumeOrVolumePoints
        {
            get
            {
                return WMSSystemSetting.Get_VolumeOrVolumePoints(Session);
            }
        }

我希望VolumeOrVolumePoints == VolumeType.VolumeRealVolume其验证为整数,否则验证为双数。

我怎么能做到这一点?谢谢!

4

1 回答 1

0

有关如何使用 XPO 验证对象的信息,请参阅此处。如果您碰巧使用的是 DevExpress XAF,那么请改用ValidationModuleValidationRule中的一个。

所以你需要类似的东西:

protected override void OnSaving() 
{
    if (VolumeOrVolumePoints == VolumeType.Volume)
    {
        if (RealVolume % 1 != 0) // see http://stackoverflow.com/a/2751597/1077279
             throw new Exception("The RealVolume value must be an integer when using Volume units.");
    }
}
于 2016-03-02T20:16:31.630 回答