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.Persistent.Base.General
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Linq
Imports System.Linq.Expressions
Imports DevExpress.ExpressApp.ConditionalAppearance
<DefaultClassOptions()> _
<NavigationItem(False), CreatableItem(False)> _
<DeferredDeletion(False)> _
<AllowSort(False)> _
<Appearance("GLCardsRows -> MainAppearance", Criteria:="1=1", AppearanceItemType:="ViewItem", Context:="ListView", TargetItems:="*")> _
Public Class GLCardsRows
    Inherits BaseObject
    Private _GLCardsHeader
    Private _CustomersFrom As CustomersFrom
    Private _RowIndex As Long
    Private _Customers As Customers
    Private _ConnectInfo As String
    Private _DocumentNumber As String
    Private _DateExecution As Date
    Private _Note_Rows As String
    Private _DebitAmountHUF As Double
    Private _CreditAmountHUF As Double

    Private _DebitAmountDEV As Double 'KI kell dolgozni !!!
    Private _CreditAmountDEV As Double
    Private _DebitAmountDEV2 As Double
    Private _CreditAmountDEV2 As Double

    Private _CurrencyRate As Double
    Private _CurrencyRate2 As Double

    Private _DebitRAmountHUF As Double
    Private _CreditRAmountHUF As Double
    Private _BallanceRulliringHUF As Double 'Göngyölt egyenleg
    Private _BallanceRulliringDEV As Double 'Göngyölt egyenleg (DEV)
    Private _AccountNumberFrom As String
    Private _ShortNameFrom As String
    Private _AccountNumberTo As String
    Private _ShortNameTo As String
    Private _UniqueObjects As UniqueObjects
    Private _Controlling As Controlling
    Private _JobNumberObjects As JobNumberObjects
    Private _CostPlace As CostPlace
    Private _CostHolder As CostHolder
    Private _GLRows As GLRows
    Private _IsDivided As Boolean = False
    Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
    Public Overrides Sub AfterConstruction()
        MyBase.AfterConstruction()

    End Sub

    <Association("GLCardsHeader-GLCardsRows", GetType(GLCardsHeader))> _
    Property GLCardsHeader() As GLCardsHeader
        Get
            Return _GLCardsHeader
        End Get
        Set(ByVal value As GLCardsHeader)
            SetPropertyValue("GLCardsHeader", _GLCardsHeader, value)
        End Set
    End Property
    Property CustomersForm() As CustomersFrom
        Get
            Return _CustomersFrom
        End Get
        Set(ByVal value As CustomersFrom)
            SetPropertyValue("CustomersForm", _CustomersFrom, value)
        End Set
    End Property
    Property RowIndex As Long
        Get
            Return _RowIndex
        End Get
        Set(value As Long)
            SetPropertyValue("RowIndex", _RowIndex, value)
        End Set
    End Property
    Property Customers() As Customers
        Get
            Return _Customers
        End Get
        Set(ByVal value As Customers)
            SetPropertyValue("Customers", _Customers, value)
        End Set
    End Property
    Property ConnectionInfo() As String
        Get
            Return _ConnectInfo
        End Get
        Set(ByVal value As String)
            SetPropertyValue("ConnectionInfo", _ConnectInfo, value)
        End Set
    End Property
    Property DocumentNumber As String
        Get
            Return _DocumentNumber
        End Get
        Set(value As String)
            SetPropertyValue("DocumentNumber", _DocumentNumber, value)
        End Set
    End Property
    Property DateExecution() As Date
        Get
            Return _DateExecution
        End Get
        Set(ByVal value As Date)
            SetPropertyValue("DateExecution", _DateExecution, value)
        End Set
    End Property
    <Size(4000)> _
    Property Note_Rows() As String
        Get
            Return _Note_Rows
        End Get
        Set(ByVal value As String)
            SetPropertyValue("Note_Rows", _Note_Rows, value)
            If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
                If GLRows IsNot Nothing Then
                    If _GLRows.NoteRows <> value Then
                        _GLRows.NoteRows = value
                    End If
                End If
            End If
        End Set
    End Property
    Property DebitAmountHUF() As Double
        Get
            Return _DebitAmountHUF
        End Get
        Set(ByVal value As Double)
            SetPropertyValue("DebitAmountHUF", _DebitAmountHUF, value)
        End Set
    End Property
    Property CreditAmountHUF() As Double
        Get
            Return _CreditAmountHUF
        End Get
        Set(ByVal value As Double)
            SetPropertyValue("CreditAmountHUF", _CreditAmountHUF, value)
        End Set
    End Property
    Property DebitRAmountHUF() As Double
        Get
            Return _DebitRAmountHUF
        End Get
        Set(ByVal value As Double)
            SetPropertyValue("DebitRAmountHUF", _DebitRAmountHUF, value)
        End Set
    End Property
    Property CreditRAmountHUF() As Double
        Get
            Return _CreditRAmountHUF
        End Get
        Set(ByVal value As Double)
            SetPropertyValue("CreditRAmountHUF", _CreditRAmountHUF, value)
        End Set
    End Property
    Property BallanceRulliringHUF As Double
        Get
            Return _BallanceRulliringHUF
        End Get
        Set(value As Double)
            SetPropertyValue("BallanceRulliringHUF", _BallanceRulliringHUF, value)
        End Set
    End Property
    Property BallanceRulliringDEV As Double
        Get
            Return _BallanceRulliringDEV
        End Get
        Set(value As Double)
            SetPropertyValue("BallanceRulliringDEV", _BallanceRulliringDEV, value)
        End Set
    End Property
    Property AccountNumberFrom() As String
        Get
            Return _AccountNumberFrom
        End Get
        Set(ByVal value As String)
            SetPropertyValue("AccountNumberFrom", _AccountNumberFrom, value)
        End Set
    End Property
    <Size(255)> _
    Property ShortNameFrom() As String
        Get
            Return _ShortNameFrom
        End Get
        Set(ByVal value As String)
            SetPropertyValue("ShortNameFrom", _ShortNameFrom, value)
        End Set
    End Property
    Property AccountNumberTo() As String
        Get
            Return _AccountNumberTo
        End Get
        Set(ByVal value As String)
            SetPropertyValue("AccountNumberTo", _AccountNumberTo, value)
        End Set
    End Property
    <Size(255)> _
    Property ShortNameTo() As String
        Get
            Return _ShortNameTo
        End Get
        Set(ByVal value As String)
            SetPropertyValue("ShortName", _ShortNameTo, value)
        End Set
    End Property
    Property UniqueObjects As UniqueObjects
        Get
            Return _UniqueObjects
        End Get
        Set(value As UniqueObjects)
            SetPropertyValue("UniqueObjects", _UniqueObjects, value)
        End Set
    End Property
    <DataSourceCriteria("IsParent=False")> _
    Property Controlling As Controlling
        Get
            Return _Controlling
        End Get
        Set(value As Controlling)
            SetPropertyValue("controlling", _Controlling, value)
        End Set
    End Property
    Property JobNumberObjects As JobNumberObjects
        Get
            Return _JobNumberObjects
        End Get
        Set(value As JobNumberObjects)
            SetPropertyValue("JobNumberObjects", _JobNumberObjects, value)
        End Set
    End Property
    Property CostPlace As CostPlace
        Get
            Return _CostPlace
        End Get
        Set(value As CostPlace)
            SetPropertyValue("CostPlace", _CostPlace, value)
        End Set
    End Property
    Property CostHolder As CostHolder
        Get
            Return _CostHolder
        End Get
        Set(value As CostHolder)
            SetPropertyValue("CostHolder", _CostHolder, value)
        End Set
    End Property
    <VisibleInListView(False), VisibleInLookupListView(False)> _
    Property GLRows As GLRows
        Get
            Return _GLRows
        End Get
        Set(value As GLRows)
            SetPropertyValue("GLRows", _GLRows, value)
        End Set
    End Property
    <Browsable(False)> _
    Property IsDivided As Boolean
        Get
            Return _IsDivided
        End Get
        Set(value As Boolean)
            SetPropertyValue("IsDivided", _IsDivided, value)
        End Set
    End Property

    Property DebitAmountDEV As Double
        Get
            Return _DebitAmountDEV
        End Get
        Set(value As Double)
            SetPropertyValue("DebitAmountDEV", _DebitAmountDEV, value)
        End Set
    End Property
    Property CreditAmountDEV As Double
        Get
            Return _CreditAmountDEV
        End Get
        Set(value As Double)
            SetPropertyValue("CreditAmountDEV", _CreditAmountDEV, value)
        End Set
    End Property
    Property DebitAmountDEV2 As Double
        Get
            Return _DebitAmountDEV2
        End Get
        Set(value As Double)
            SetPropertyValue("DebitAmountDEV2", _DebitAmountDEV2, value)
        End Set
    End Property
    Property CreditAmountDEV2 As Double
        Get
            Return _CreditAmountDEV2
        End Get
        Set(value As Double)
            SetPropertyValue("CreditAmountDEV2", _CreditAmountDEV2, value)
        End Set
    End Property
    Property CurrencyRate As Double
        Get
            Return _CurrencyRate
        End Get
        Set(value As Double)
            SetPropertyValue("CurrencyRate", _CurrencyRate, value)
        End Set
    End Property
    Property CurrencyRate2 As Double
        Get
            Return _CurrencyRate2
        End Get
        Set(value As Double)
            SetPropertyValue("CurrencyRate2", _CurrencyRate2, value)
        End Set
    End Property

    ReadOnly Property BallanceHUF As Double
        Get
            Return DebitAmountHUF - CreditAmountHUF
        End Get
    End Property
    ReadOnly Property BallanceDEV As Double
        Get
            Return DebitAmountDEV - CreditAmountDEV
        End Get
    End Property
End Class

