Files
2017-03-08 11:21:27 +01:00

330 lines
18 KiB
VB.net

Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.Xpo
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.Data.Filtering
Public Class PCIGroupAgingVC
Inherits DevExpress.ExpressApp.ViewController
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
Public Event DoWork()
Public Event FinalWork
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Private Sub aGeneratePCIGroupAging_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aGeneratePCIGroupAging.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
Dim _PCIGroupAging As PCIGroupAging
Dim _SQL As String = ""
Select Case GLOBAL_SQLType
Case eSQLType.MySQL
_SQL = "delete from PCIGroupAging"
Case eSQLType.PostgreSQL
_SQL = "delete from ""PCIGroupAging"""
Case eSQLType.MSSQL
_SQL = "delete from PCIGroupAging"
End Select
_uow.ExecuteNonQuery(_SQL)
_uow.CommitChanges()
Dim _PCIGroup_Collection As New XPCollection(Of PCIGroup)(_uow, CriteriaOperator.Parse("isnull(InvoiceHeader)=False or isnull(RegistryHeader)=False"))
Dim _PCIGroup As PCIGroup
RaiseEvent InitWork(1, 1, _PCIGroup_Collection.Count)
For Each _PCIGroup In _PCIGroup_Collection
RaiseEvent DoWork()
_PCIGroupAging = New PCIGroupAging(_uow)
_PCIGroupAging.PCIGroup = _PCIGroup
_PCIGroupAging.CustomersFrom = _PCIGroup.CustomersFrom
_PCIGroupAging.Customers = _PCIGroup.Customers
_PCIGroupAging.PartnerType = _PCIGroup.PartnerType
_PCIGroupAging.DateExecution = _PCIGroup.DateExecution_Account
_PCIGroupAging.DatePayment = _PCIGroup.DatePayment_Account
_PCIGroupAging.DateCreated = _PCIGroup.DateCreated_Account
_PCIGroupAging.ConnectInfo = _PCIGroup.ConnectInfo
_PCIGroupAging.CurrencyName = _PCIGroup.CurrencyName_Account
_PCIGroupAging.AmountHUF_Account = _PCIGroup.AmountHUF_Account
_PCIGroupAging.AmountHUF_Account_Hold = 0
_PCIGroupAging.AmountHUF_Account_Normal = 0
_PCIGroupAging.BallanceHUF = _PCIGroup.BallanceHUF
If _PCIGroupAging.DatePayment < Now Then
_PCIGroupAging.IsExpired = True
Else
_PCIGroupAging.IsExpired = False
End If
If _PCIGroup.InvoiceHeader IsNot Nothing Then
Dim _InvoiceHold_Collection As New XPCollection(Of InvoiceHold)(_uow, CriteriaOperator.Parse("InvoiceHeader=?", _PCIGroup.InvoiceHeader))
Dim _InvoiceHold As InvoiceHold
Dim _Exists As Boolean = False
For Each _InvoiceHold In _InvoiceHold_Collection
_Exists = True
If _InvoiceHold.RowType = eHoldRowType.Hold Then
_PCIGroupAging.AmountHUF_Account_Hold += _InvoiceHold.AmountHUF
End If
If _InvoiceHold.RowType = eHoldRowType.Normal Then
_PCIGroupAging.AmountHUF_Account_Normal += _InvoiceHold.AmountHUF
End If
Next
If _Exists Then
For Each _InvoiceHold In _InvoiceHold_Collection
Select Case DateDiff(DateInterval.Day, Now, _InvoiceHold.DatePayment)
Case 1 To 30
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F02_30HUF += _InvoiceHold.BallanceHUF
End If
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F02_30DEV += _InvoiceHold.BallanceDEV
End If
Case 31 To 90
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F03_90HUF += _InvoiceHold.BallanceHUF
End If
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F03_90DEV += _InvoiceHold.BallanceDEV
End If
Case 91 To 365
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F04_1YEARHUF += _InvoiceHold.BallanceHUF
End If
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F04_1YEARDEV += _InvoiceHold.BallanceDEV
End If
Case 366 To 730
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F05_2YEARHUF += _InvoiceHold.BallanceHUF
End If
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F05_2YEARDEV += _InvoiceHold.BallanceDEV
End If
Case 731 To 1095
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F06_3YEARHUF += _InvoiceHold.BallanceHUF
End If
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F06_3YEARDEV += _InvoiceHold.BallanceDEV
End If
Case 1096 To 2190
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F07_6YEARHUF += _InvoiceHold.BallanceHUF
End If
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F07_6YEARDEV += _InvoiceHold.BallanceDEV
End If
Case Is > 2190
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F08_6PLUSYEARHUF += _InvoiceHold.BallanceHUF
End If
If _InvoiceHold.BallanceHUF > 0 Then
_PCIGroupAging.F08_6PLUSYEARDEV += _InvoiceHold.BallanceDEV
End If
End Select
Next
End If
If _Exists = False Then
Select Case DateDiff(DateInterval.Day, Now, _PCIGroupAging.DatePayment)
Case 1 To 30
_PCIGroupAging.F02_30DEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F02_30HUF = _PCIGroupAging.BallanceHUF
Case 31 To 90
_PCIGroupAging.F03_90DEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F03_90HUF = _PCIGroupAging.BallanceHUF
Case 91 To 365
_PCIGroupAging.F04_1YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F04_1YEARHUF = _PCIGroupAging.BallanceHUF
Case 366 To 730
_PCIGroupAging.F05_2YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F05_2YEARHUF = _PCIGroupAging.BallanceHUF
Case 731 To 1095
_PCIGroupAging.F06_3YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F06_3YEARDEV = _PCIGroupAging.BallanceHUF
Case 1096 To 2190
_PCIGroupAging.F07_6YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F07_6YEARHUF = _PCIGroupAging.BallanceHUF
Case Is > 2190
_PCIGroupAging.F08_6PLUSYEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F08_6PLUSYEARHUF = _PCIGroupAging.BallanceHUF
Case Is < 0
_PCIGroupAging.F01_EXPIREDDEV = _PCIGroupAging.BallanceDEV
_PCIGroupAging.F01_EXPIREDHUF = _PCIGroupAging.BallanceHUF
End Select
End If
ElseIf _PCIGroup.RegistryHeader IsNot Nothing Then
Dim _RegistryBankTransfer_Collection As New XPCollection(Of RegistryBankTransfer)(_uow, CriteriaOperator.Parse("RegistryHeader=?", _PCIGroup.RegistryHeader))
Dim _RegistryBankTransfer As RegistryBankTransfer
Dim _Exists As Boolean = False
For Each _RegistryBankTransfer In _RegistryBankTransfer_Collection
_Exists = True
If _RegistryBankTransfer.RowType = eHoldRowType.Hold Then
_PCIGroupAging.AmountHUF_Account_Hold += _RegistryBankTransfer.AmountHUF
End If
If _RegistryBankTransfer.RowType = eHoldRowType.Normal Then
_PCIGroupAging.AmountHUF_Account_Normal += _RegistryBankTransfer.AmountHUF
End If
Next
If _Exists Then
For Each _RegistryBankTransfer In _RegistryBankTransfer_Collection
Select Case DateDiff(DateInterval.Day, Now, _RegistryBankTransfer.DatePayment)
Case 1 To 30
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F02_30HUF += _RegistryBankTransfer.BallanceHUF
End If
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F02_30DEV += _RegistryBankTransfer.BallanceDEV
End If
Case 31 To 90
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F03_90HUF += _RegistryBankTransfer.BallanceHUF
End If
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F03_90DEV += _RegistryBankTransfer.BallanceDEV
End If
Case 91 To 365
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F04_1YEARHUF += _RegistryBankTransfer.BallanceHUF
End If
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F04_1YEARDEV += _RegistryBankTransfer.BallanceDEV
End If
Case 366 To 730
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F05_2YEARHUF += _RegistryBankTransfer.BallanceHUF
End If
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F05_2YEARDEV += _RegistryBankTransfer.BallanceDEV
End If
Case 731 To 1095
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F06_3YEARHUF += _RegistryBankTransfer.BallanceHUF
End If
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F06_3YEARDEV += _RegistryBankTransfer.BallanceDEV
End If
Case 1096 To 2190
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F07_6YEARHUF += _RegistryBankTransfer.BallanceHUF
End If
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F07_6YEARDEV += _RegistryBankTransfer.BallanceDEV
End If
Case Is > 2190
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F08_6PLUSYEARHUF += _RegistryBankTransfer.BallanceHUF
End If
If _RegistryBankTransfer.BallanceHUF > 0 Then
_PCIGroupAging.F08_6PLUSYEARDEV += _RegistryBankTransfer.BallanceDEV
End If
End Select
Next
End If
If _Exists = False Then
Select Case DateDiff(DateInterval.Day, Now, _PCIGroupAging.DatePayment)
Case 1 To 30
_PCIGroupAging.F02_30DEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F02_30HUF = _PCIGroupAging.BallanceHUF
Case 31 To 90
_PCIGroupAging.F03_90DEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F03_90HUF = _PCIGroupAging.BallanceHUF
Case 91 To 365
_PCIGroupAging.F04_1YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F04_1YEARHUF = _PCIGroupAging.BallanceHUF
Case 366 To 730
_PCIGroupAging.F05_2YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F05_2YEARHUF = _PCIGroupAging.BallanceHUF
Case 731 To 1095
_PCIGroupAging.F06_3YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F06_3YEARDEV = _PCIGroupAging.BallanceHUF
Case 1096 To 2190
_PCIGroupAging.F07_6YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F07_6YEARHUF = _PCIGroupAging.BallanceHUF
Case Is > 2190
_PCIGroupAging.F08_6PLUSYEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F08_6PLUSYEARHUF = _PCIGroupAging.BallanceHUF
Case Is < 0
_PCIGroupAging.F01_EXPIREDDEV = _PCIGroupAging.BallanceDEV
_PCIGroupAging.F01_EXPIREDHUF = _PCIGroupAging.BallanceHUF
End Select
End If
Else
Select Case DateDiff(DateInterval.Day, Now, _PCIGroupAging.DatePayment)
Case 1 To 30
_PCIGroupAging.F02_30DEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F02_30HUF = _PCIGroupAging.BallanceHUF
Case 31 To 90
_PCIGroupAging.F03_90DEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F03_90HUF = _PCIGroupAging.BallanceHUF
Case 91 To 365
_PCIGroupAging.F04_1YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F04_1YEARHUF = _PCIGroupAging.BallanceHUF
Case 366 To 730
_PCIGroupAging.F05_2YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F05_2YEARHUF = _PCIGroupAging.BallanceHUF
Case 731 To 1095
_PCIGroupAging.F06_3YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F06_3YEARDEV = _PCIGroupAging.BallanceHUF
Case 1096 To 2190
_PCIGroupAging.F07_6YEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F07_6YEARHUF = _PCIGroupAging.BallanceHUF
Case Is > 2190
_PCIGroupAging.F08_6PLUSYEARDEV = _PCIGroup.BallanceDEV
_PCIGroupAging.F08_6PLUSYEARHUF = _PCIGroupAging.BallanceHUF
Case Is < 0
_PCIGroupAging.F01_EXPIREDDEV = _PCIGroupAging.BallanceDEV
_PCIGroupAging.F01_EXPIREDHUF = _PCIGroupAging.BallanceHUF
End Select
End If
_uow.CommitChanges()
Next
RaiseEvent FinalWork
_uow.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End Sub
Private Sub aViewAttachmentsPCIGroupAging_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aViewAttachmentsPCIGroupAging.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroupAging As PCIGroupAging = TryCast(View.SelectedObjects(0), PCIGroupAging)
If _PCIGroupAging IsNot Nothing Then
ViewAttachments.ViewAttachments(_ocur, Frame, _PCIGroupAging.CustomersFrom, _
_PCIGroupAging.Customers, _PCIGroupAging.ConnectInfo, _
"")
End If
End Sub
Private Sub aViewRegistryPCIGroupAging_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aViewRegistryPCIGroupAging.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroupAging As PCIGroupAging = TryCast(View.SelectedObjects(0), PCIGroupAging)
If _PCIGroupAging IsNot Nothing Then
ViewRegistry.ViewRegistry(_ocur, Application, e, _PCIGroupAging.CustomersFrom, _
_PCIGroupAging.Customers, _PCIGroupAging.ConnectInfo)
End If
End Sub
End Class