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.Xpo.Metadata
Imports System.Drawing
<DefaultClassOptions()> _
<NavigationItem("RealEstateStocks")> _
Public Class ImmovablesGroups
    Inherits BaseObject
    Private _ShortName As String 'Megnevezés
    Private _Address As Address 'Cím
    Private _UniqueTag As String 'Egyedi tag
    Private _JobNumberObjects As JobNumberObjects 'Project, munkaszám

    Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
    Property ShortName() As String
        Get
            Return _ShortName
        End Get
        Set(ByVal value As String)
            SetPropertyValue("ShortName", _ShortName, value)
        End Set
    End Property
    Property Address() As Address
        Get
            Return _Address
        End Get
        Set(ByVal value As Address)
            SetPropertyValue("Address", _Address, value)
        End Set
    End Property
    Property JobNumberObjects() As JobNumberObjects
        Get
            Return _JobNumberObjects
        End Get
        Set(ByVal value As JobNumberObjects)
            SetPropertyValue("JobNumberObjects", _JobNumberObjects, value)
        End Set
    End Property
    <RuleRequiredField("ImmovablesGroups-UniqueTag", DefaultContexts.Save)> _
    Property UniqueTag() As String
        Get
            Return _UniqueTag
        End Get
        Set(ByVal value As String)
            SetPropertyValue("UniqueTag", _UniqueTag, value)
        End Set
    End Property
    '-------------ReadOnly-------------
    <VisibleInListView(False)> _
    <Association("ImmovablesGroups-DocumentAttachments", GetType(DocumentAttachments))> _
    ReadOnly Property DocumentAttachments() As XPCollection(Of DocumentAttachments)
        Get
            Return GetCollection(Of DocumentAttachments)("DocumentAttachments")
        End Get
    End Property
    <VisibleInListView(False)> _
    <Association("ImmovablesGroups-Stairways", GetType(Stairways))> _
    ReadOnly Property Stairways() As XPCollection(Of Stairways)
        Get
            Return GetCollection(Of Stairways)("Stairways")
        End Get
    End Property
    <VisibleInListView(False)> _
    <Association("ImmovablesGroups-Floors", GetType(Floors))> _
    ReadOnly Property Floors() As XPCollection(Of Floors)
        Get
            Return GetCollection(Of Floors)("Floors")
        End Get
    End Property
End Class ' Ingatlan csoportok
