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 System.Drawing Imports DevExpress.ExpressApp.Utils _ _ _ Public Class PCIGroup Inherits BaseObject Private _CustomersFrom As CustomersFrom Private _Customers As Customers Private _PartnerType As ePartnerType Private _ConnectInfo As String Private _DocumentNumber As String = "" 'Számla eredeti bizonylatszáma Private _RegistryNumber As String = "" Private _CurrencyName As CurrencyName Private _BallanceHUF As Double Private _BallanceDEV As Double Private _BallanceHUF_P As Double Private _BallanceDEV_P As Double Private _BallanceHUF_R As Double Private _BallanceDEV_R As Double Private _BallanceHUF_B As Double Private _BallanceDEV_B As Double Private _DateCreated_Account As Date Private _DatePayment_Account As Date Private _DateExecution_Account As Date Private _CurrencyName_Account As CurrencyName Private _Paymode_Account As ePayMode Private _AmountHUF_Account As Double Private _AmountDEV_Account As Double Private _BallanceState As Long Private _BallanceRateDiff As Long Private _RateDiffState As Long = 0 'Árfolyam státusz Private _ChartOfAccounts_Customers As ChartOfAccounts 'Partnerhez tartozó Fk. számla száma Private _DateLastConnected As Date 'Utolsó p.ü. teljesítés dátuma Private _Description As String 'Egyéb megjegyzésrivate Private _InvoiceHeader As InvoiceHeader Private _RegistryHeader As RegistryHeader Private _GLAccounts As GLAccounts Public Sub New(ByVal session As Session) MyBase.New(session) ' This constructor is used when an object is loaded from a persistent storage. ' Do not place any code here or place it only when the IsLoading property is false: ' if (!IsLoading){ ' It is now OK to place your initialization code here. ' } ' or as an alternative, move your initialization code into the AfterConstruction method. End Sub Public Overrides Sub AfterConstruction() MyBase.AfterConstruction() ' Place here your initialization code. BallanceDEV = 0 BallanceDEV_B = 0 BallanceDEV_P = 0 BallanceDEV_R = 0 BallanceHUF = 0 BallanceHUF_B = 0 BallanceHUF_P = 0 BallanceHUF_R = 0 BallanceState = 0 BallanceRateDiff = -1 End Sub Property CustomersFrom As CustomersFrom Get Return _CustomersFrom End Get Set(value As CustomersFrom) SetPropertyValue("CustomersFrom", _CustomersFrom, value) End Set End Property Property Customers As Customers Get Return _Customers End Get Set(value As Customers) SetPropertyValue("Customers", _Customers, value) End Set End Property Property PartnerType As ePartnerType Get Return _PartnerType End Get Set(value As ePartnerType) SetPropertyValue("_PartnerType", _PartnerType, value) End Set End Property Property ConnectInfo As String Get Return _ConnectInfo End Get Set(value As String) SetPropertyValue("ConnectInfo", _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 RegistryNumber As String Get Return _RegistryNumber End Get Set(value As String) SetPropertyValue("RegistryNumber", _RegistryNumber, value) End Set End Property Property CurrencyName As CurrencyName Get Return _CurrencyName End Get Set(value As CurrencyName) SetPropertyValue("CurrencyName", _CurrencyName, value) End Set End Property Property BallanceHUF As Double Get Return _BallanceHUF End Get Set(value As Double) SetPropertyValue("BallanceHUF", _BallanceHUF, value) If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then Select Case PartnerType Case ePartnerType.ePayabels BallanceHUF_P = value * -1 Case ePartnerType.eReceivables BallanceHUF_R = value End Select BallanceHUF_B = BallanceHUF_R - BallanceHUF_P BallanceState = 0 RateDiffState = 0 BallanceRateDiff = 0 If CurrencyName_Account IsNot Nothing Then If _CurrencyName_Account.ShortName = "HUF" Then BallanceRateDiff = -1 If Math.Round(value, 0, MidpointRounding.AwayFromZero) = 0 Then BallanceState = 1 Else If Math.Round(BallanceDEV, 2, MidpointRounding.AwayFromZero) = 0 Then BallanceState = 1 If Math.Round(value, 0, MidpointRounding.AwayFromZero) <> 0 And Math.Round(BallanceDEV, 2, MidpointRounding.AwayFromZero) = 0 Then BallanceRateDiff = 1 If PartnerType = ePartnerType.eReceivables Then If Math.Round(value, 0, MidpointRounding.AwayFromZero) > 0 Then RateDiffState = -1 Else RateDiffState = 1 End If ElseIf PartnerType = ePartnerType.ePayabels Then If Math.Round(value, 0, MidpointRounding.AwayFromZero) > 0 Then RateDiffState = 1 Else RateDiffState = -1 End If End If End If End If Else If CurrencyName IsNot Nothing Then If CurrencyName.ShortName = "HUF" Then If Math.Round(value, 0, MidpointRounding.AwayFromZero) = 0 Then BallanceState = 1 Else If Math.Round(BallanceDEV, 2, MidpointRounding.AwayFromZero) = 0 Then BallanceState = 1 End If Else If Math.Round(value, 0, MidpointRounding.AwayFromZero) = 0 Then BallanceState = 1 End If End If End If End Set End Property Property BallanceDEV As Double Get Return _BallanceDEV End Get Set(value As Double) SetPropertyValue("BallanceDEV", _BallanceDEV, value) If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then Select Case PartnerType Case ePartnerType.ePayabels BallanceDEV_P = value * -1 Case ePartnerType.eReceivables BallanceDEV_R = value End Select BallanceDEV_B = BallanceDEV_R - BallanceDEV_P End If End Set End Property Property BallanceHUF_P As Double Get Return _BallanceHUF_P End Get Set(value As Double) SetPropertyValue("BallanceHUF_P", _BallanceHUF_P, value) End Set End Property Property BallanceDEV_P As Double Get Return _BallanceDEV_P End Get Set(value As Double) SetPropertyValue("BallanceDEV_P", _BallanceDEV_P, value) End Set End Property Property BallanceHUF_R As Double Get Return _BallanceHUF_R End Get Set(value As Double) SetPropertyValue("BallanceHUF_R", _BallanceHUF_R, value) End Set End Property Property BallanceDEV_R As Double Get Return _BallanceDEV_R End Get Set(value As Double) SetPropertyValue("BallanceDEV_R", _BallanceDEV_R, value) End Set End Property Property BallanceHUF_B As Double Get Return _BallanceHUF_B End Get Set(value As Double) SetPropertyValue("BallanceHUF_B", _BallanceHUF_B, value) End Set End Property Property BallanceDEV_B As Double Get Return _BallanceDEV_B End Get Set(value As Double) SetPropertyValue("BallanceDEV_B", _BallanceDEV_B, value) End Set End Property Property DateCreated_Account As Date Get Return _DateCreated_Account End Get Set(value As Date) SetPropertyValue("DateCreated_Account", _DateCreated_Account, value) End Set End Property Property DatePayment_Account As Date Get Return _DatePayment_Account End Get Set(value As Date) SetPropertyValue("DatePayment_Account", _DatePayment_Account, value) End Set End Property Property DateExecution_Account As Date Get Return _DateExecution_Account End Get Set(value As Date) SetPropertyValue("DateExecution_Account", _DateExecution_Account, value) End Set End Property Property CurrencyName_Account As CurrencyName Get Return _CurrencyName_Account End Get Set(value As CurrencyName) SetPropertyValue("CurrencyName_Account", _CurrencyName_Account, value) End Set End Property Property Paymode_Account As ePayMode Get Return _Paymode_Account End Get Set(value As ePayMode) SetPropertyValue("Paymode_Account", _Paymode_Account, value) End Set End Property Property AmountHUF_Account As Double Get Return _AmountHUF_Account End Get Set(value As Double) SetPropertyValue("AmountHUF_Account", _AmountHUF_Account, value) End Set End Property Property AmountDEV_Account As Double Get Return _AmountDEV_Account End Get Set(value As Double) SetPropertyValue("AmountDEV_Account", _AmountDEV_Account, value) End Set End Property Property BallanceState As Long Get Return _BallanceState End Get Set(value As Long) SetPropertyValue("BallanceState", _BallanceState, value) End Set End Property Property BallanceRateDiff As Long Get Return _BallanceRateDiff End Get Set(value As Long) SetPropertyValue("BallanceRateDiff", _BallanceRateDiff, value) End Set End Property Property RateDiffState As Long Get Return _RateDiffState End Get Set(value As Long) SetPropertyValue("RateDiffState", _RateDiffState, value) End Set End Property Property DateLastConnected As Date Get Return _DateLastConnected End Get Set(value As Date) SetPropertyValue("DateLastConnected", _DateLastConnected, value) End Set End Property _ ReadOnly Property BallanceRateDiffImage As Image Get If PartnerType = ePartnerType.eReceivables Then If RateDiffState = -1 Then 'Árfolyam veszteség Return ImageLoader.Instance.GetImageInfo("nav_down_red").Image Else 'Árfolyam nyereség Return ImageLoader.Instance.GetImageInfo("nav_up_green").Image End If ElseIf PartnerType = ePartnerType.ePayabels Then If RateDiffState = 1 Then 'Árfolyam nyereség Return ImageLoader.Instance.GetImageInfo("nav_up_green").Image Else 'Árfolyam veszteség Return ImageLoader.Instance.GetImageInfo("nav_down_red").Image End If Else Return ImageLoader.Instance.GetImageInfo("bullet_ball_glass_blue").Image End If End Get End Property _ Property Description As String Get Return _Description End Get Set(value As String) SetPropertyValue("Description", _Description, value) End Set End Property Property InvoiceHeader As InvoiceHeader Get Return _InvoiceHeader End Get Set(value As InvoiceHeader) SetPropertyValue("InvoiceHeader", _InvoiceHeader, value) End Set End Property Property RegistryHeader As RegistryHeader Get Return _RegistryHeader End Get Set(value As RegistryHeader) SetPropertyValue("RegistryHeader", _RegistryHeader, value) End Set End Property Property GLAccounts As GLAccounts Get Return _GLAccounts End Get Set(value As GLAccounts) SetPropertyValue("GLAccounts", _GLAccounts, value) End Set End Property ReadOnly Property DelayedDayLastConnected As Long Get Dim _Now As DateTime = Now If Me.DateLastConnected <> #12:00:00 AM# Then If InvoiceHeader IsNot Nothing Then Return DateDiff(DateInterval.Day, Me.InvoiceHeader.DatePayment.Date, Me.DateLastConnected.Date) Else Return 0 End If Else If InvoiceHeader IsNot Nothing Then Return DateDiff(DateInterval.Day, Me.InvoiceHeader.DatePayment.Date, Now.Date) Else Return 0 End If Return 0 End If End Get End Property 'Property ChartOfAccounts_Customers As ChartOfAccounts ' Get ' Return _ChartOfAccounts_Customers ' End Get ' Set(value As ChartOfAccounts) ' SetPropertyValue("ChartOfAccounts_Customers", _ChartOfAccounts_Customers, value) ' End Set 'End Property End Class