【问题标题】:How to enforce input in one to many relation between two business objects in XAF如何在 XAF 中的两个业务对象之间强制输入一对多关系
【发布时间】:2017-10-13 11:55:41
【问题描述】:

我有一个 Bill 和 PR 类,它们之间存在一对多关系(一个 Bill 对多个 PR),我如何根据 Bill 类中的 Amount 属性强制输入 PR 类? 仅当 Amount >= FIXED_AMOUNT 时才强制输入 PR 详细信息,否则不要这样做。

<DefaultClassOptions()> _
Public Class Bill Inherits BaseObject
Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub 
    Public Overrides Sub AfterConstruction()
        MyBase.AfterConstruction()
    End Sub
    Private _Amount As Decimal
    Public Property Amount() As Decimal
        Get
         Return _Amount
        End Get
        Set(ByVal value As Decimal)
            _Amount = value
        End Set
    End Property

    Private _PR As PR
    <Association("PR-Bill")>
    Public Property PR As PR
        Get
            Return _PR
        End Get
        Set(ByVal value As PR)
            SetPropertyValue("PR", _PR, value)
        End Set
    End Property    
End Class

<DefaultClassOptions()> _
Public Class PR Inherits BaseObject
Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
     Public Overrides Sub AfterConstruction()
        MyBase.AfterConstruction()
        End Sub
        Private _Name As String
    Public Property Name() As String
        Get
            Return _Name
        End Get
        Set(ByVal value As String)
            _Name = value
        End Set
    End Property

    <Association("PR-Bill")>
    Public ReadOnly Property Bill() As XPCollection(Of Bill)
        Get
            Return GetCollection(Of Bill)("Bill")
        End Get
    End Property    
End Class

【问题讨论】:

    标签: vb.net xaf


    【解决方案1】:

    使用 DevExpress.Persistent.Validation

    类似

    [NotMapped, Browsable(false),
    RuleFromBoolProperty("NeedsInputRule", DefaultContexts.Save,"You need to input PR ", UsedProperties = "Amount")]
    
    public bool NeedsInput => Amount >= Fixed_Amount;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多