Imports System
Imports System.ComponentModel

Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering

Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Imports DevExpress.ExpressApp.ConditionalAppearance

Public Enum eRRFCT_Type
    eTechnical = 0
    eReal = 1
End Enum

<DefaultClassOptions()> _
<NavigationItem(False)> _
<CreatableItem(False)> _
<NonPersistent()> _
<Appearance("RegistryRowsFinancialControllingTemplatePopup - Hide MasterKey", AppearanceItemType:="ViewItem", criteria:="1=1", TargetItems:="MasterKey", visibility:=Editors.ViewItemVisibility.Hide)> _
Public Class RegistryRowsFinancialControllingTemplatePopup
    Inherits BaseObject

    Private _MasterKey As Guid
    Private _RRFCT_Type As eRRFCT_Type
    Private _CustomersFrom As CustomersFrom
    Private _Customers As Customers

    Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
    Public Overrides Sub AfterConstruction()
        MyBase.AfterConstruction()
        RRFCT_Type = eRRFCT_Type.eTechnical
    End Sub

    Property MasterKey As Guid
        Get
            Return _MasterKey
        End Get
        Set(value As Guid)
            SetPropertyValue("MasterKey", _MasterKey, value)
        End Set
    End Property
    Property RRFCT_Type As eRRFCT_Type
        Get
            Return _RRFCT_Type
        End Get
        Set(value As eRRFCT_Type)
            SetPropertyValue("RRFCT_Type", _RRFCT_Type, value)
        End Set
    End Property
    <ImmediatePostData()> _
    Property CustomersFrom As CustomersFrom
        Get
            Return _CustomersFrom
        End Get
        Set(value As CustomersFrom)
            SetPropertyValue("CustomersFrom", _CustomersFrom, value)
        End Set
    End Property
    <ImmediatePostData()> _
    Property Customers As Customers
        Get
            Return _Customers
        End Get
        Set(value As Customers)
            SetPropertyValue("Customers", _Customers, value)
        End Set
    End Property

    '-----------ReadOnly----------------
    <VisibleInListView(False), VisibleInLookupListView(False)> _
    ReadOnly Property RegistryRowsFinancialControlling As XPCollection(Of RegistryRowsFinancialControlling)
        Get
            Return New XPCollection(Of RegistryRowsFinancialControlling)(Session, CriteriaOperator.Parse("RegistryHeader.IsTemplate=True AND RegistryHeader.CustomersFrom=? AND RegistryHeader.Customers=?", Me.CustomersFrom, Me.Customers))
        End Get
    End Property
End Class
