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
Imports System.Linq
Imports System.Linq.Expressions

<DefaultClassOptions()> _
<NavigationItem(False), CreatableItem(False)> _
<DefaultProperty("StorageOutRows.StorageOutHeader.DocumentNumber")> _
Public Class StorageOutRowsInRows
    Inherits BaseObject
    Private _RowIndex As Long
    Private _StorageOutRows As StorageOutRows
    Private _StorageInRows As StorageInRows
    Private _QTT As Double 'Kitárolt mennyiség
    Private _QTT_To_DeliveryOut As Double 'Kiszállított mennyiség
    Private _QTT_Will As Double 'Kiszállítási szándék
    Private _DividedOriginal As Long '-- 0: nincs bontva 1: fő sor 2: bontott sor
    Private _DividedGUID As Guid '-- Az összekapcsoló GUID ami a bontáshoz kell

    Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
    Protected Overrides Sub OnSaving()
        MyBase.OnSaving()
        QTT = Math.Round(QTT, 4, MidpointRounding.AwayFromZero)
        QTT_To_DeliveryOut = Math.Round(QTT_To_DeliveryOut, 4, MidpointRounding.AwayFromZero)
        QTT_Will = Math.Round(QTT_Will, 4, MidpointRounding.AwayFromZero)
    End Sub
    Property RowIndex As Long
        Get
            Return _RowIndex
        End Get
        Set(ByVal value As Long)
            SetPropertyValue("RowIndex", _RowIndex, value)
        End Set
    End Property
    <Association("StorageOutIn", GetType(StorageOutRows))> _
    Property StorageOutRows() As StorageOutRows
        Get
            Return _StorageOutRows
        End Get
        Set(ByVal value As StorageOutRows)
            SetPropertyValue("StorageOutRows", _StorageOutRows, value)
        End Set
    End Property
    Property StorageInRows() As StorageInRows
        Get
            Return _StorageInRows
        End Get
        Set(ByVal value As StorageInRows)
            SetPropertyValue("StorageInRows", _StorageInRows, value)
        End Set
    End Property
    Property QTT() As Double
        Get
            Return _QTT
        End Get
        Set(ByVal value As Double)
            SetPropertyValue("QTT", _QTT, value)
        End Set
    End Property
    Property QTT_To_DeliveryOut As Double
        Get
            Return _QTT_To_DeliveryOut
        End Get
        Set(value As Double)
            SetPropertyValue("QTT_To_DeliveryOut", _QTT_To_DeliveryOut, value)
        End Set
    End Property
    Property QTT_Will As Double
        Get
            Return _QTT_Will
        End Get
        Set(value As Double)
            SetPropertyValue("QTT_Will", _QTT_Will, value)
        End Set
    End Property
    <VisibleInDetailView(False), VisibleInLookupListView(False), VisibleInListView(False)>
    Property DividedOriginal As Long
        Get
            Return _DividedOriginal
        End Get
        Set(value As Long)
            SetPropertyValue("DividedOriginal", _DividedOriginal, value)
        End Set
    End Property
    <VisibleInDetailView(False), VisibleInLookupListView(False), VisibleInListView(False)>
    Property DividedGUID As Guid
        Get
            Return _DividedGUID
        End Get
        Set(value As Guid)
            SetPropertyValue("DividedGUID", _DividedGUID, value)
        End Set
    End Property
End Class
