Files
ivanszabo 9cca882b34 Átállás 17.2.3-ra
Related Work Items: #123
2017-12-02 16:09:26 +01:00

1374 lines
78 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.Data.Filtering
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Imports System.IO
Imports DevExpress.WebUtils
Public Class PCIVC
Inherits DevExpress.ExpressApp.ViewController
Protected selection As ArrayList
Protected noselect As Boolean = False
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()
selection = New ArrayList()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
AddHandler View.SelectionChanged, AddressOf view_SelectionChanged
Frame.GetController(Of PCIVC).aPCIGenerate.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aPCICheck.Active.SetItemValue("", False)
'-- Pontozások
Frame.GetController(Of PCIVC).aCreateConnectionDirectDifferentCurrency.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateConnectionDirect.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateConnectionDrop.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateRateDiffPCIGroup.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateConnectionLiquidAssets.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateConnectionDivide.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateConnectionAccount.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateRoundingPCIGroup.Active.SetItemValue("", False)
'--- Betekintések ...
Frame.GetController(Of PCIVC).aViewAttachmentsPCIGroup.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aViewPCIDGroup.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aViewRegistryPCIGroup.Active.SetItemValue("", False)
If View.Id = "PCIGroup_ListView_DelayedPay" Then
Frame.GetController(Of PCIVC).aViewAttachmentsPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewPCIDGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aPCICheck.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aRepairPCIGroup.Active.SetItemValue("", False)
End If
If View.Id = "PCIGroup_ListView" Then
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController)?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aPCIGenerate.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aPCICheck.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewAttachmentsPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewPCIDGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewRegistryPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aCreateRoundingPCIGroup.Active.SetItemValue("", True)
End If
If View.Id = "PCIDetail_ListView" Then
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController)?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
Frame.GetController(Of PCIVC).aCreateConnectionDirectDifferentCurrency.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aCreateConnectionDirect.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aCreateConnectionDrop.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aCreateConnectionLiquidAssets.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aCreateConnectionDivide.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aCreateConnectionAccount.Active.SetItemValue("", True)
End If
If View.Id = "PCIGroup_ListView_Rate" Then
Frame.GetController(Of PCIVC).aCreateRateDiffPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aPCICheck.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewAttachmentsPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewPCIDGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewRegistryPCIGroup.Active.SetItemValue("", True)
End If
If View.Id = "PCIGroup_ListView_Rounding" Then
Frame.GetController(Of PCIVC).aCreateRoundingPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewAttachmentsPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewPCIDGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aViewRegistryPCIGroup.Active.SetItemValue("", True)
Frame.GetController(Of PCIVC).aPCICheck.Active.SetItemValue("", True)
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", True)
RemoveHandler View.SelectionChanged, AddressOf view_SelectionChanged
End Sub
Private Sub view_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim _PCIDetail As PCIDetail
Dim _PCIGroup As PCIGroup
If View Is Nothing Then Exit Sub
If View.Id Like "PCIDetail*" And noselect = False Then
selection.Clear()
For Each _PCIDetail In View.SelectedObjects
selection.Add(_PCIDetail)
Next
End If
If View.Id = "PCIGroup_ListView_Rate" And noselect = False Then
selection.Clear()
For Each _PCIGroup In View.SelectedObjects
selection.Add(_PCIGroup)
Next
End If
If View.Id = "PCIGroup_ListView_Rounding" And noselect = False Then
selection.Clear()
For Each _PCIGroup In View.SelectedObjects
selection.Add(_PCIGroup)
Next
End If
If View.Id = "PCIGroup_ListView" And noselect = False Then
selection.Clear()
For Each _PCIGroup In View.SelectedObjects
selection.Add(_PCIGroup)
Next
End If
End Sub
Private Sub aPCIGenerate_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aPCIGenerate.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLAccounts As GLAccounts
Dim _GLRows As GLRows
Dim _InvoiceHeader As InvoiceHeader
Dim _RegistryHeader As RegistryHeader
'// Ki kell dobni minden korábbi pontozást !
'Dim _PCIDetail_Collection As New XPCollection(Of PCIDetail)(_uow)
'_uow.Delete(_PCIDetail_Collection)
'Dim _PCIGroup_Collection As New XPCollection(Of PCIGroup)(_uow)
'_uow.Delete(_PCIGroup_Collection)
Select Case GLOBAL_SQLType
Case eSQLType.PostgreSQL
_uow.ExecuteNonQuery("delete from ""PCIDetail""")
_uow.ExecuteNonQuery("update ""InvoiceHeader"" set ""PCIGroup""=Null")
_uow.ExecuteNonQuery("update ""PCIGroupAging"" set ""PCIGroup""=Null")
_uow.ExecuteNonQuery("delete from ""PCIGroup""")
_uow.CommitChanges()
Case Else
_uow.ExecuteNonQuery("delete from PCIDetail")
_uow.ExecuteNonQuery("update InvoiceHeader set PCIGroup=Null")
_uow.ExecuteNonQuery("update PCIGroupAging set PCIGroup=Null")
_uow.ExecuteNonQuery("delete from PCIGroup")
_uow.CommitChanges()
End Select
'//
Dim _GLAccounts_Collection As New XPCollection(Of GLAccounts)(PersistentCriteriaEvaluationBehavior.InTransaction, _
_uow, CriteriaOperator.Parse("IsDeleted=False and PartnerType in (0,1) and IsEditable=False"))
RaiseEvent InitWork(1, 1, _GLAccounts_Collection.Count)
For Each _GLAccounts In _GLAccounts_Collection
RaiseEvent DoWork()
GLFunctions.ReconfigurePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo)
Next
RaiseEvent FinalWork
Dim _GLRows_Collection As New XPCollection(Of GLRows)(_uow, CriteriaOperator.Parse("isnull(Customer)=False and PartnerType in (0,1)"))
RaiseEvent InitWork(1, 1, _GLRows_Collection.Count)
For Each _GLRows In _GLRows_Collection
RaiseEvent DoWork()
GLFunctions.ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
Next
RaiseEvent FinalWork
Dim _InvoiceHeader_Collection As New XPCollection(Of InvoiceHeader)(_uow, CriteriaOperator.Parse("isnull(Customers)=False and IsEditable=False and isnull(GLAccounts)=True"))
RaiseEvent InitWork(1, 1, _InvoiceHeader_Collection.Count)
For Each _InvoiceHeader In _InvoiceHeader_Collection
RaiseEvent DoWork()
GLFunctions.ReconfigurePCI(_uow, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, 0, _InvoiceHeader.ConnectInfo)
Next
RaiseEvent FinalWork
Dim _RegistryHeader_Collection As New XPCollection(Of RegistryHeader)(_uow, CriteriaOperator.Parse("RegistryAcceptState=0 and RegistryType.RegistryMainType=0 and IsEditable=False and isnull(F_GLAccounts)=True"))
RaiseEvent InitWork(1, 1, _RegistryHeader_Collection.Count)
For Each _RegistryHeader In _RegistryHeader_Collection
RaiseEvent DoWork()
GLFunctions.ReconfigurePCI(_uow, _RegistryHeader.CustomersFrom, _RegistryHeader.Customers, 1, _RegistryHeader.DocumentNumber)
Next
RaiseEvent FinalWork
If Frame.GetController(Of RefreshController).Active.ResultValue = True Then
If Frame.GetController(Of RefreshController).RefreshAction.Active.ResultValue = True Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End If
End Sub
Private Sub aViewPCIDGroup_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewPCIDGroup.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup = TryCast(View.SelectedObjects(0), PCIGroup)
ViewPDCI.ViewPDCIDetail(_onew, Application, e, _PCIGroup.CustomersFrom, _
_PCIGroup.Customers, _PCIGroup.PartnerType, _
_PCIGroup.ConnectInfo)
End Sub
Private Sub aCreateConnectionDirect_Cancel(ByVal sender As Object, ByVal e As System.EventArgs) Handles aCreateConnectionDirect.Cancel
noselect = False
End Sub
Private Sub aCreateConnectionDirect_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateConnectionDirect.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PartnerConnectionInfoCleanUp_PopupWindow As PartnerConnectionInfoCleanUp_PopupWindow
Dim _PCIDetail As PCIDetail
Dim _PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem As PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem
Dim _CustomersFrom As CustomersFrom
Dim _Customers As Customers
Dim _PartnerType As ePartnerType
Dim _IsAccount As Boolean = False
Dim _AccountCount As Long = 0
Dim _Currency_Account As String
noselect = True
_PartnerConnectionInfoCleanUp_PopupWindow = _onew.FindObject(Of PartnerConnectionInfoCleanUp_PopupWindow)(CriteriaOperator.Parse("1=1"))
If _PartnerConnectionInfoCleanUp_PopupWindow Is Nothing Then
_PartnerConnectionInfoCleanUp_PopupWindow = _onew.CreateObject(Of PartnerConnectionInfoCleanUp_PopupWindow)()
End If
If _PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.Count > 0 Then
_onew.Delete(_PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem)
End If
For Each _PCIDetail In selection
If _PCIDetail.MainType = "01-Account" Then
_PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo = _PCIDetail.ConnectInfo
_PartnerType = _PCIDetail.PartnerType
_Customers = _PCIDetail.Customers
_CustomersFrom = _PCIDetail.CustomersFrom
_Currency_Account = _PCIDetail.CurrencyName_Account.ShortName
_IsAccount = True
_AccountCount += 1
End If
Next
If _IsAccount = False Then
_onew.Rollback()
noselect = False
Throw New Exception("*Legalább egy számlát ki kell választani !")
End If
If _AccountCount > 1 Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak egy számlát lehet kiválasztani !")
End If
_IsAccount = False
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "03-Cassa", "02-Bank", "04-Compensation"
If _PCIDetail.CustomersFrom.Oid <> _CustomersFrom.Oid Or _
_PCIDetail.Customers.Oid <> _Customers.Oid Or _
_PCIDetail.PartnerType <> _PartnerType Then
_onew.Rollback()
Throw New Exception("*Csak azonos saját cég, partner és partner tipusú bizonylatokat lehet kijelölni !")
Else
If _PCIDetail.CurrencyName.ShortName = _Currency_Account Or _Currency_Account = "HUF" Then
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem = _onew.CreateObject(Of PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem)()
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.PartnerConnectionInfoCleanUp_PopupWindow = _PartnerConnectionInfoCleanUp_PopupWindow
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.PCIDetail = _onew.GetObjectByKey(Of PCIDetail)(_PCIDetail.Oid)
Else
_onew.Rollback()
Throw New Exception("*Eltérõ devizanemû tételek !")
End If
End If
End Select
Next
If _PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.Count <= 0 Then
_onew.Rollback()
noselect = False
Throw New Exception("*Legalább egy pénzügyi sort ki kell választani !")
End If
e.View = Application.CreateDetailView(_onew, "PartnerConnectionInfoCleanUp_PopupWindow_DetailView_Direct", False, _PartnerConnectionInfoCleanUp_PopupWindow)
End Sub
Private Sub aCreateConnectionDirect_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateConnectionDirect.Execute
'-- Ez a kijelölt sorokat összepontozza ---------------------------------------------------------------------------------
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _PartnerConnectionInfoCleanUp_PopupWindow As PartnerConnectionInfoCleanUp_PopupWindow = TryCast(e.PopupWindow.View.SelectedObjects(0), PartnerConnectionInfoCleanUp_PopupWindow)
Dim _PCIDetail As PCIDetail
Dim _ConnectInfo_Prev As String = ""
Dim _ConnectInfo_Next As String = ""
Dim _GLRows As GLRows
Dim _GLAccounts As GLAccounts
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "03-Cassa", "02-Bank", "04-Compensation"
If _PCIDetail.GLRows IsNot Nothing Then
_GLRows = _ocur.FindObject(Of GLRows)(CriteriaOperator.Parse("Oid=?", _PCIDetail.GLRows.Oid), True)
If _GLRows IsNot Nothing Then
_ConnectInfo_Prev = _GLRows.ConnectInfo
_GLRows.ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _GLRows.ConnectInfo
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
End If
Case "01-Account"
If _PCIDetail.InvoiceHeader IsNot Nothing Then
_ConnectInfo_Prev = _PCIDetail.InvoiceHeader.ConnectInfo
_PCIDetail.InvoiceHeader.ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_PCIDetail.InvoiceHeader.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
If _PCIDetail.RegistryHeader IsNot Nothing Then
_ConnectInfo_Prev = _PCIDetail.RegistryHeader.F_ConnectInfo
_PCIDetail.RegistryHeader.F_ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_PCIDetail.RegistryHeader.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
If _PCIDetail.GLAccounts IsNot Nothing Then
_GLAccounts = _PCIDetail.GLAccounts
_ConnectInfo_Prev = _GLAccounts.ConnectInfo
_GLAccounts.row_ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_GLAccounts.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
End Select
Next
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
noselect = False
End Sub
Private Sub aCreateConnectionLiquidAssets_Cancel(ByVal sender As Object, ByVal e As System.EventArgs) Handles aCreateConnectionLiquidAssets.Cancel
noselect = False
End Sub
Private Sub aCreateConnectionLiquidAssets_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateConnectionLiquidAssets.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PartnerConnectionInfoCleanUp_PopupWindow As PartnerConnectionInfoCleanUp_PopupWindow
Dim _PCIDetail As PCIDetail
Dim _PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem As PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem
Dim _CustomersFrom As CustomersFrom
Dim _Customers As Customers
Dim _PartnerType As ePartnerType
Dim _IsAccount As Boolean = False
noselect = True
_PartnerConnectionInfoCleanUp_PopupWindow = _onew.FindObject(Of PartnerConnectionInfoCleanUp_PopupWindow)(CriteriaOperator.Parse("1=1"))
If _PartnerConnectionInfoCleanUp_PopupWindow Is Nothing Then
_PartnerConnectionInfoCleanUp_PopupWindow = _onew.CreateObject(Of PartnerConnectionInfoCleanUp_PopupWindow)()
End If
If _PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.Count > 0 Then
_onew.Delete(_PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem)
End If
For Each _PCIDetail In selection
If _PCIDetail.MainType = "01-Account" Then
_IsAccount = True
Exit For
End If
_PartnerType = _PCIDetail.PartnerType
_Customers = _PCIDetail.Customers
_CustomersFrom = _PCIDetail.CustomersFrom
Next
If _IsAccount = True Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak pénzügyi teljesítéseket lehet kiválasztani !")
End If
_IsAccount = False
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "03-Cassa", "02-Bank", "04-Compensation"
If _PCIDetail.CustomersFrom.Oid <> _CustomersFrom.Oid Or _
_PCIDetail.Customers.Oid <> _Customers.Oid Or _
_PCIDetail.PartnerType <> _PartnerType Then
_onew.Rollback()
Throw New Exception("*Csak azonos saját cég, partner és partner tipusú bizonylatokat lehet kijelölni !")
Else
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem = _onew.CreateObject(Of PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem)()
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.PartnerConnectionInfoCleanUp_PopupWindow = _PartnerConnectionInfoCleanUp_PopupWindow
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.PCIDetail = _onew.GetObjectByKey(Of PCIDetail)(_PCIDetail.Oid)
End If
End Select
Next
If _PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.Count <= 0 Then
_onew.Rollback()
noselect = False
Throw New Exception("*Legalább egy pénzügyi sort ki kell választani !")
End If
e.View = Application.CreateDetailView(_onew, "PartnerConnectionInfoCleanUp_PopupWindow_DetailView_LiquidAssets", False, _PartnerConnectionInfoCleanUp_PopupWindow)
End Sub
Private Sub aCreateConnectionLiquidAssets_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateConnectionLiquidAssets.Execute
'-- Ez a kijelölt sorokat összepontozza ---------------------------------------------------------------------------------
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _PartnerConnectionInfoCleanUp_PopupWindow As PartnerConnectionInfoCleanUp_PopupWindow = TryCast(e.PopupWindow.View.SelectedObjects(0), PartnerConnectionInfoCleanUp_PopupWindow)
Dim _PCIDetail As PCIDetail
Dim _ConnectInfo_Prev As String = ""
Dim _ConnectInfo_Next As String = ""
Dim _GLRows As GLRows
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "03-Cassa", "02-Bank", "04-Compensation"
If _PCIDetail.GLRows IsNot Nothing Then
_GLRows = _ocur.FindObject(Of GLRows)(CriteriaOperator.Parse("Oid=?", _PCIDetail.GLRows.Oid), True)
If _GLRows IsNot Nothing Then
_ConnectInfo_Prev = _GLRows.ConnectInfo
_GLRows.ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _GLRows.ConnectInfo
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
End If
Case "01-Account"
End Select
Next
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
noselect = False
End Sub
Private Sub aCreateConnectionDivide_Cancel(ByVal sender As Object, ByVal e As System.EventArgs) Handles aCreateConnectionDivide.Cancel
noselect = False
End Sub
Private Sub aCreateConnectionDivide_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateConnectionDivide.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRowsDivideH As GLRowsDivideH = _onew.CreateObject(Of GLRowsDivideH)()
Dim _PCIDetail As PCIDetail = TryCast(View.SelectedObjects(0), PCIDetail)
If _PCIDetail IsNot Nothing Then
_GLRowsDivideH.GLRows_Oid = _PCIDetail.GLRows.Oid
_GLRowsDivideH.row_Customers = _onew.GetObject(_PCIDetail.Customers)
_GLRowsDivideH.row_PartnerType = _PCIDetail.PartnerType
e.View = Application.CreateDetailView(_onew, "GLRowsDivideH_DetailView_ConnectionDivide", False, _GLRowsDivideH)
End If
End Sub
Private Sub aCreateConnectionDivide_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateConnectionDivide.Execute
'-- Sor bontása
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(e.PopupWindow.View.SelectedObjects(0), GLRowsDivideH)
Dim _PCIDetail As PCIDetail = TryCast(View.SelectedObjects(0), PCIDetail)
Select Case _PCIDetail.MainType
Case "02-Bank", "03-Cassa"
Case Else
_ocur.Rollback()
Throw New Exception("*Csak banki és pénztári tételt lehet szétbontani pontozási számokra !")
End Select
Dim _GLRows As GLRows = _ocur.GetObjectByKey(Of GLRows)(_PCIDetail.GLRows.Oid)
If _GLRows IsNot Nothing Then
_GLRows.DivideRows(_ocur, _GLRows, _GLRowsDivideH, True)
End If
End Sub
Private Sub aCreateConnectionDirectDifferentCurrency_Cancel(ByVal sender As Object, ByVal e As System.EventArgs) Handles aCreateConnectionDirectDifferentCurrency.Cancel
noselect = False
End Sub
Private Sub aCreateConnectionDirectDifferentCurrency_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateConnectionDirectDifferentCurrency.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PCIDetail As PCIDetail
Dim _PCIDetail_Account As PCIDetail
Dim _PCIDetail_Connect As PCIDetail
Dim _RateDiffCurrencyPopUp As RateDiffCurrencyPopUp = _onew.CreateObject(Of RateDiffCurrencyPopUp)()
Dim _IsAccount As Boolean = False
Dim _AccountCount As Long = 0
Dim _CurrencyName_Account As CurrencyName
noselect = True
For Each _PCIDetail In selection
If _PCIDetail.MainType = "01-Account" Then
If _PCIDetail.CurrencyName_Account.ShortName <> "HUF" Then
_PCIDetail_Account = _PCIDetail
_CurrencyName_Account = _PCIDetail.CurrencyName_Account
_IsAccount = True
_AccountCount += 1
End If
End If
Next
If _IsAccount = False Then
_onew.Rollback()
noselect = False
Throw New Exception("*Legalább egy számlát ki kell választani ami NEM HUF !")
End If
If _AccountCount > 1 Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak egy számlát lehet kiválasztani !")
End If
If selection.Count > 2 Or selection.Count = 0 Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak egy számlát és egy pénzügyi teljesítést kell kiválazstani !")
End If
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "03-Cassa", "02-Bank", "04-Compensation"
_PCIDetail_Connect = _PCIDetail
If _PCIDetail.CurrencyName.ShortName = "HUF" Then
_RateDiffCurrencyPopUp.IsHUF = True
Else
_RateDiffCurrencyPopUp.IsHUF = False
End If
Exit For
End Select
Next
If _PCIDetail_Account.CustomersFrom.Oid <> _PCIDetail_Connect.CustomersFrom.Oid Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak azonos saját cégû bizonylatokat lehet kiválasztani !")
End If
If _PCIDetail_Account.Customers.Oid <> _PCIDetail_Connect.Customers.Oid Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak azonos partnerû bizonylatokat lehet kiválasztani !")
End If
If _PCIDetail_Account.PartnerType <> _PCIDetail_Connect.PartnerType Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak azonos partner tipusú bizonylatokat lehet kiválasztani !")
End If
e.View = Application.CreateDetailView(_onew, "RateDiffCurrencyPopUp_DetailView", False, _RateDiffCurrencyPopUp)
End Sub
Private Sub aCreateConnectionDirectDifferentCurrency_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateConnectionDirectDifferentCurrency.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _RateDiffCurrencyPopUp As RateDiffCurrencyPopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), RateDiffCurrencyPopUp)
Dim _GLRows As GLRows
Dim _ConnectInfo As String = ""
Dim _PCIDetail As PCIDetail
Dim _ConnectInfo_Prev As String = ""
Dim _ConnectInfo_Next As String = ""
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "01-Account"
_ConnectInfo = _PCIDetail.ConnectInfo
Exit For
End Select
Next
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "03-Cassa", "02-Bank", "04-Compensation"
If _PCIDetail.GLRows IsNot Nothing Then
_GLRows = _ocur.GetObjectByKey(Of GLRows)(_PCIDetail.GLRows.Oid)
_ConnectInfo_Prev = _GLRows.ConnectInfo
_GLRows.ConnectInfo = _ConnectInfo
_ConnectInfo_Next = _GLRows.ConnectInfo
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
If _PCIDetail.CurrencyName.ShortName = "HUF" Then
If _GLRows.InAmountHUF > 0 Then
_GLRows.InAmountDEV2 = Math.Round(_GLRows.InAmountHUF / Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero), 2, MidpointRounding.AwayFromZero)
_GLRows.CurrencyRate2 = Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero)
Else
_GLRows.OutAmountDEV2 = Math.Round(_GLRows.OutAmountHUF / Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero), 2, MidpointRounding.AwayFromZero)
_GLRows.CurrencyRate2 = Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero)
End If
Else
If _GLRows.InAmountDEV > 0 Then
_GLRows.InAmountDEV2 = Math.Round(_GLRows.InAmountDEV / Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero), 2, MidpointRounding.AwayFromZero)
_GLRows.CurrencyRate2 = Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero)
Else
_GLRows.OutAmountDEV2 = Math.Round(_GLRows.OutAmountDEV / Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero), 2, MidpointRounding.AwayFromZero)
_GLRows.CurrencyRate2 = Math.Round(_RateDiffCurrencyPopUp.CurrencyRate, 2, MidpointRounding.AwayFromZero)
End If
End If
Exit For
End If
End Select
Next
_ocur.CommitChanges()
noselect = False
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End Sub
Private Sub aViewRegistryPCIGroup_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewRegistryPCIGroup.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup = TryCast(View.SelectedObjects(0), PCIGroup)
If _PCIGroup IsNot Nothing Then
ViewRegistry.ViewRegistry(_ocur, Application, e, _PCIGroup.CustomersFrom, _
_PCIGroup.Customers, _PCIGroup.ConnectInfo)
End If
End Sub
Private Sub aViewAttachmentsPCIGroup_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewAttachmentsPCIGroup.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup = TryCast(View.SelectedObjects(0), PCIGroup)
If _PCIGroup IsNot Nothing Then
ViewAttachments.ViewAttachments(_ocur, Frame, _PCIGroup.CustomersFrom, _
_PCIGroup.Customers, _PCIGroup.ConnectInfo, _
"")
End If
End Sub
Private Sub aCreateConnectionDrop_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCreateConnectionDrop.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _PCIDetail As PCIDetail
Dim _GLRows As GLRows
Dim _ConnectInfo_Prev As String = ""
Dim _ConnectInfo_Next As String = ""
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _PCIDetail In View.SelectedObjects
RaiseEvent DoWork()
Select Case _PCIDetail.MainType
Case "02-Bank", "03-Cassa", "04-Compensation"
If _PCIDetail.GLRows IsNot Nothing Then
_GLRows = _ocur.FindObject(Of GLRows)(CriteriaOperator.Parse("Oid=?", _PCIDetail.GLRows.Oid), True)
If _GLRows IsNot Nothing Then
_ConnectInfo_Prev = _GLRows.ConnectInfo
_GLRows.ConnectInfo = ""
_ConnectInfo_Next = _GLRows.ConnectInfo
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
End If
Case "01-Account"
If _PCIDetail.InvoiceHeader IsNot Nothing Then
_ConnectInfo_Prev = _PCIDetail.InvoiceHeader.ConnectInfo
_PCIDetail.InvoiceHeader.ConnectInfo = _PCIDetail.InvoiceHeader.DocumentNumber
_ConnectInfo_Next = _PCIDetail.InvoiceHeader.DocumentNumber
_PCIDetail.InvoiceHeader.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
If _PCIDetail.RegistryHeader IsNot Nothing Then
_ConnectInfo_Prev = _PCIDetail.RegistryHeader.F_ConnectInfo
_PCIDetail.RegistryHeader.F_ConnectInfo = _PCIDetail.RegistryHeader.DocumentNumber
_ConnectInfo_Next = _PCIDetail.RegistryHeader.DocumentNumber
_PCIDetail.RegistryHeader.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
If _PCIDetail.GLAccounts IsNot Nothing Then
Dim _GLAccounts As GLAccounts
_GLAccounts = _PCIDetail.GLAccounts
_ConnectInfo_Prev = _GLAccounts.ConnectInfo
_GLAccounts.row_ConnectInfo = _GLAccounts.DocumentNumber
_ConnectInfo_Next = _GLAccounts.DocumentNumber
_GLAccounts.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
End Select
Next
_ocur.CommitChanges()
RaiseEvent FinalWork
End Sub
Private Sub aCreateRateDiffPCIGroup_Cancel(ByVal sender As Object, ByVal e As System.EventArgs) Handles aCreateRateDiffPCIGroup.Cancel
noselect = False
End Sub
Private Sub aCreateRateDiffPCIGroup_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateRateDiffPCIGroup.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _RateDiffPopUp As RateDiffPopUp = _onew.CreateObject(Of RateDiffPopUp)()
noselect = True
_RateDiffPopUp.DateExecution = Now
e.View = Application.CreateDetailView(_onew, "RateDiffPopUp_DetailView", False, _RateDiffPopUp)
End Sub
Private Sub aCreateRateDiffPCIGroup_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateRateDiffPCIGroup.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _RateDiffPopUp As RateDiffPopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), RateDiffPopUp)
Dim _PCIGroup As PCIGroup
Dim _GLHeader_Ratediff As GLMixed = Nothing
Dim _GLRows_RateDiff As GLRows
Dim _DebitChartOfAccounts As ChartOfAccounts
Dim _CreditChartOfAccounts As ChartOfAccounts
Dim _Controlling As Controlling
Dim _GLMixedNG As GLMixedNG
Dim _GLHeader_RateDiffParameter = _ocur.FindObject(Of GLHeader_RateDiffParameter)(CriteriaOperator.Parse("1=1"))
If _GLHeader_RateDiffParameter Is Nothing Then Exit Sub
Dim _ChartOfAccounts_RateDiff_Win As ChartOfAccounts = _GLHeader_RateDiffParameter.GetChartOfAccounts(_RateDiffPopUp.DateExecution.Year, eWinLoss.eRateDiffWin)
Dim _ChartOfAccounts_RateDiff_Loss As ChartOfAccounts = _GLHeader_RateDiffParameter.GetChartOfAccounts(_RateDiffPopUp.DateExecution.Year, eWinLoss.eRateDiffLoss)
Dim _Controlling_RateDiff_Win As Controlling = _GLHeader_RateDiffParameter.Controlling_RateDiff_Win
Dim _Controlling_RateDiff_Loss As Controlling = _GLHeader_RateDiffParameter.Controlling_RateDiff_Loss
Dim _CustomersFrom As CustomersFrom
Dim i As Long = 0
Dim _InAmountHUF As Double = 0
Dim _OutAmountHUF As Double = 0
If selection.Count <= 0 Then Exit Sub
For Each _PCIGroup In selection
If i = 0 Then
_CustomersFrom = _PCIGroup.CustomersFrom
i = 1
End If
If _PCIGroup.CustomersFrom.Oid <> _CustomersFrom.Oid Then
Throw New Exception("*Csak azonos saját cégû sorok jelölhetõ ki egyszerre !")
Exit For
End If
Next
_GLHeader_Ratediff = _ocur.CreateObject(Of GLMixed)()
_GLHeader_Ratediff.CustomersFrom = _CustomersFrom
_GLMixedNG = _ocur.FindObject(Of GLMixedNG)(CriteriaOperator.Parse("CustomersFrom=?", _GLHeader_Ratediff.CustomersFrom), True)
If _GLMixedNG IsNot Nothing Then
If _GLHeader_Ratediff.DocumentNumber = "" Then
_GLHeader_Ratediff.DocumentNumber = _GLMixedNG.NumberGenerator.GetNewNumber(_GLMixedNG.NumberGenerator_RateDiff)
End If
End If
_GLHeader_Ratediff.DateExecution = _RateDiffPopUp.DateExecution
_GLHeader_Ratediff.DateCreated = _RateDiffPopUp.DateExecution
_GLHeader_Ratediff.NoteHeader = _RateDiffPopUp.Description
_GLHeader_Ratediff.CurrencyRate = 1
_GLHeader_Ratediff.GLDocumentType = eGLDocumentType.eGLRateDiff
_GLHeader_Ratediff.IsEditable = False
_GLHeader_Ratediff.IsStorno = False
_GLHeader_Ratediff.CurrencyName = _ocur.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName='HUF'"))
For Each _PCIGroup In selection
_OutAmountHUF = 0
_InAmountHUF = 0
Select Case _PCIGroup.PartnerType
Case ePartnerType.ePayabels
If _PCIGroup.BallanceHUF > 0 Then 'Árfolyam nyereség szállító
_DebitChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eIn)
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
_Controlling = _Controlling_RateDiff_Win
_OutAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
Else 'Árfolyam veszteség szállító
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
_CreditChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eIn)
_Controlling = _Controlling_RateDiff_Loss
_InAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
End If
Case ePartnerType.eReceivables
If _PCIGroup.BallanceHUF > 0 Then ' Árfolyam veszteség vevõ
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
_CreditChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eOut)
_Controlling = _Controlling_RateDiff_Loss
_InAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
Else 'Árfolyam nyereség vevõ
_DebitChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eOut)
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
_Controlling = _Controlling_RateDiff_Win
_OutAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
End If
End Select
_GLRows_RateDiff = _ocur.CreateObject(Of GLRows)()
_GLRows_RateDiff.GLHeader = _GLHeader_Ratediff
_GLRows_RateDiff.InAmountHUF = _InAmountHUF
_GLRows_RateDiff.OutAmountHUF = _OutAmountHUF
_GLRows_RateDiff.AddGLRows(_GLHeader_Ratediff, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, Math.Abs(_PCIGroup.BallanceHUF), Nothing, _
_PCIGroup.Customers, Nothing, Nothing, "", Nothing, _Controlling, Nothing, Nothing, Nothing, _PCIGroup.ConnectInfo, _
eGLRowsTypeVAT.eNettoRow, Guid.NewGuid, eTransactionType.eNotSet, eCashType.ePartner, _PCIGroup.PartnerType)
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIGroup.CustomersFrom, _PCIGroup.Customers, _PCIGroup.PartnerType, _PCIGroup.ConnectInfo)
Next
_ocur.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
noselect = False
End Sub
Private Sub aPCICheck_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aPCICheck.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _PCIGroup As PCIGroup
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _PCIGroup In View.SelectedObjects
RaiseEvent DoWork()
If _PCIGroup IsNot Nothing Then
GLFunctions.ReconfigurePCI(_uow, _PCIGroup.CustomersFrom, _PCIGroup.Customers, _PCIGroup.PartnerType, _PCIGroup.ConnectInfo)
End If
Next
RaiseEvent FinalWork
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End Sub
Private Sub aCreateConnectionAccount_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateConnectionAccount.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PartnerConnectionInfoCleanUp_PopupWindow As PartnerConnectionInfoCleanUp_PopupWindow
Dim _PCIDetail As PCIDetail
Dim _PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem As PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem
Dim _CustomersFrom As CustomersFrom
Dim _Customers As Customers
Dim _PartnerType As ePartnerType
Dim _IsAccount As Boolean = False
Dim _AccountCount As Long = 0
Dim _Currency_Account As String
noselect = True
_PartnerConnectionInfoCleanUp_PopupWindow = _onew.FindObject(Of PartnerConnectionInfoCleanUp_PopupWindow)(CriteriaOperator.Parse("1=1"))
If _PartnerConnectionInfoCleanUp_PopupWindow Is Nothing Then
_PartnerConnectionInfoCleanUp_PopupWindow = _onew.CreateObject(Of PartnerConnectionInfoCleanUp_PopupWindow)()
End If
If _PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.Count > 0 Then
_onew.Delete(_PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem)
End If
For Each _PCIDetail In selection
If _PCIDetail.MainType = "01-Account" And (_PCIDetail.AmountDEV_Account > 0 Or _PCIDetail.AmountHUF_Account > 0) Then
_PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo = _PCIDetail.ConnectInfo
_PartnerType = _PCIDetail.PartnerType
_Customers = _PCIDetail.Customers
_CustomersFrom = _PCIDetail.CustomersFrom
_Currency_Account = _PCIDetail.CurrencyName_Account.ShortName
_IsAccount = True
_AccountCount += 1
End If
Next
If _IsAccount = False Then
_onew.Rollback()
noselect = False
Throw New Exception("*Legalább egy pozitív számlát ki kell választani !")
End If
If _AccountCount > 1 Then
_onew.Rollback()
noselect = False
Throw New Exception("*Csak egy pozitív számlát lehet kiválasztani !")
End If
_IsAccount = False
For Each _PCIDetail In selection
If _PCIDetail.MainType = "01-Account" And (_PCIDetail.AmountDEV_Account < 0 Or _PCIDetail.AmountHUF_Account < 0) Then
If _PCIDetail.CustomersFrom.Oid <> _CustomersFrom.Oid Or _
_PCIDetail.Customers.Oid <> _Customers.Oid Or _
_PCIDetail.PartnerType <> _PartnerType Then
_onew.Rollback()
Throw New Exception("*Csak azonos saját cég, partner és partner tipusú bizonylatokat lehet kijelölni !")
Else
If _PCIDetail.CurrencyName.ShortName = _Currency_Account Or _Currency_Account = "HUF" Then
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem = _onew.CreateObject(Of PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem)()
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.PartnerConnectionInfoCleanUp_PopupWindow = _PartnerConnectionInfoCleanUp_PopupWindow
_PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.PCIDetail = _onew.GetObjectByKey(Of PCIDetail)(_PCIDetail.Oid)
Else
_onew.Rollback()
Throw New Exception("*Eltérõ devizanemû tételek !")
End If
End If
End If
Next
If _PartnerConnectionInfoCleanUp_PopupWindow.PartnerConnectionInfoCleanUp_PopupWindow_SelectedItem.Count <= 0 Then
_onew.Rollback()
noselect = False
Throw New Exception("*Legalább egy negatív számlát ki kell választani !")
End If
e.View = Application.CreateDetailView(_onew, "PartnerConnectionInfoCleanUp_PopupWindow_DetailView_Direct", False, _PartnerConnectionInfoCleanUp_PopupWindow)
End Sub
Private Sub aCreateConnectionAccount_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateConnectionAccount.Execute
'Számlák és stornó vagy jóváíró számlák összepontozása
'-- Ez a kijelölt sorokat összepontozza ---------------------------------------------------------------------------------
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _PartnerConnectionInfoCleanUp_PopupWindow As PartnerConnectionInfoCleanUp_PopupWindow = TryCast(e.PopupWindow.View.SelectedObjects(0), PartnerConnectionInfoCleanUp_PopupWindow)
Dim _PCIDetail As PCIDetail
Dim _ConnectInfo_Prev As String = ""
Dim _ConnectInfo_Next As String = ""
Dim _GLAccounts As GLAccounts
For Each _PCIDetail In selection
Select Case _PCIDetail.MainType
Case "01-Account"
If _PCIDetail.InvoiceHeader IsNot Nothing Then
_ConnectInfo_Prev = _PCIDetail.InvoiceHeader.ConnectInfo
_PCIDetail.InvoiceHeader.ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_PCIDetail.InvoiceHeader.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
If _PCIDetail.RegistryHeader IsNot Nothing Then
_ConnectInfo_Prev = _PCIDetail.RegistryHeader.F_ConnectInfo
_PCIDetail.RegistryHeader.F_ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_PCIDetail.RegistryHeader.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
If _PCIDetail.GLAccounts IsNot Nothing Then
_GLAccounts = _PCIDetail.GLAccounts
_ConnectInfo_Prev = _GLAccounts.ConnectInfo
_GLAccounts.row_ConnectInfo = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_ConnectInfo_Next = _PartnerConnectionInfoCleanUp_PopupWindow.ConnectInfo
_GLAccounts.Save()
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Prev)
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _ConnectInfo_Next)
End If
End Select
Next
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
noselect = False
End Sub
Private Sub aCreateRoundingPCIGroup_Cancel(ByVal sender As Object, ByVal e As System.EventArgs) Handles aCreateRoundingPCIGroup.Cancel
noselect = False
End Sub
Private Sub aCreateRoundingPCIGroup_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateRoundingPCIGroup.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _RateDiffPopUp As RateDiffPopUp = _onew.CreateObject(Of RateDiffPopUp)()
noselect = True
_RateDiffPopUp.DateExecution = Now
e.View = Application.CreateDetailView(_onew, "RateDiffPopUp_DetailView", False, _RateDiffPopUp)
End Sub
Private Sub aCreateRoundingPCIGroup_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateRoundingPCIGroup.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _RateDiffPopUp As RateDiffPopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), RateDiffPopUp)
Dim _PCIGroup As PCIGroup
Dim _GLHeader_Rounding As GLMixed = Nothing
Dim _GLRows_Rounding As GLRows
Dim _DebitChartOfAccounts As ChartOfAccounts = Nothing
Dim _CreditChartOfAccounts As ChartOfAccounts = Nothing
Dim _Controlling As Controlling = Nothing
Dim _GLMixedNG As GLMixedNG
Dim _Rate As Double = 1
Dim _GLHeader_RoundingParameter = _ocur.FindObject(Of GLHeader_RateDiffParameter)(CriteriaOperator.Parse("1=1"))
If _GLHeader_RoundingParameter Is Nothing Then
Throw New Exception("*Nincs beállítva az elengedési paraméter !")
Exit Sub
End If
Dim _ChartOfAccounts_Rounding_Win As ChartOfAccounts = _GLHeader_RoundingParameter.GetChartOfAccounts(_RateDiffPopUp.DateExecution.Year, eWinLoss.eRoundingWin)
Dim _ChartOfAccounts_Rounding_Loss As ChartOfAccounts = _GLHeader_RoundingParameter.GetChartOfAccounts(_RateDiffPopUp.DateExecution.Year, eWinLoss.eRoundingLoss)
Dim _Controlling_Rounding_Win As Controlling = _GLHeader_RoundingParameter.Controlling_Rounding_Win
Dim _Controlling_Rounding_Loss As Controlling = _GLHeader_RoundingParameter.Controlling_Rounding_Loss
If _ChartOfAccounts_Rounding_Loss Is Nothing Or _
_ChartOfAccounts_Rounding_Win Is Nothing Then
Throw New Exception("*Nincs beállítva az elengedési paraméter !")
Exit Sub
End If
Dim _CurrencyName As CurrencyName = Nothing
Dim _CustomersFrom As CustomersFrom = Nothing
Dim i As Long = 0
Dim _InAmountHUF As Double = 0
Dim _OutAmountHUF As Double = 0
Dim _InAmountDEV As Double = 0
Dim _OutAmountDEV As Double = 0
If selection.Count <= 0 Then Exit Sub
For Each _PCIGroup In selection
If i = 0 Then
_CustomersFrom = _PCIGroup.CustomersFrom
_CurrencyName = _PCIGroup.CurrencyName_Account
If _PCIGroup.AmountDEV_Account <> 0 Then
_Rate = _PCIGroup.AmountHUF_Account / _PCIGroup.AmountDEV_Account
End If
i = 1
End If
If _PCIGroup.CustomersFrom.Oid <> _CustomersFrom.Oid Then
Throw New Exception("*Csak azonos saját cégû sorok jelölhetõ ki egyszerre !")
Exit For
End If
If _PCIGroup.CurrencyName_Account.Oid <> _CurrencyName.Oid Then
Throw New Exception("*Csak azonos devizával rendelkezõ sorok jelölhetõ ki egyszerre !")
Exit For
End If
Next
_GLHeader_Rounding = _ocur.CreateObject(Of GLMixed)()
_GLHeader_Rounding.CustomersFrom = _CustomersFrom
_GLMixedNG = _ocur.FindObject(Of GLMixedNG)(CriteriaOperator.Parse("CustomersFrom=?", _GLHeader_Rounding.CustomersFrom), True)
If _GLMixedNG IsNot Nothing Then
If _GLHeader_Rounding.DocumentNumber = "" Then
_GLHeader_Rounding.DocumentNumber = _GLMixedNG.NumberGenerator.GetNewNumber(_GLMixedNG.NumberGenerator_Rounding)
End If
End If
_GLHeader_Rounding.DateExecution = _RateDiffPopUp.DateExecution
_GLHeader_Rounding.DateCreated = _RateDiffPopUp.DateExecution
_GLHeader_Rounding.NoteHeader = _RateDiffPopUp.Description
_GLHeader_Rounding.GLDocumentType = eGLDocumentType.eGLRateDiff
_GLHeader_Rounding.IsEditable = False
_GLHeader_Rounding.IsStorno = False
For Each _PCIGroup In selection
_GLHeader_Rounding.CurrencyName = _PCIGroup.CurrencyName_Account
_OutAmountDEV = 0
_OutAmountHUF = 0
_InAmountDEV = 0
_InAmountHUF = 0
If _PCIGroup.CurrencyName_Account.ShortName = "HUF" Then
Select Case _PCIGroup.PartnerType
Case ePartnerType.ePayabels
If _PCIGroup.BallanceHUF > 0 Then 'Elengedés nyereség
_DebitChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eIn)
_CreditChartOfAccounts = _ChartOfAccounts_Rounding_Win
_Controlling = _Controlling_Rounding_Win
_OutAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
Else 'Elengedés veszteség
_DebitChartOfAccounts = _ChartOfAccounts_Rounding_Loss
_CreditChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eIn)
_Controlling = _Controlling_Rounding_Loss
_InAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
End If
Case ePartnerType.eReceivables
If _PCIGroup.BallanceHUF > 0 Then ' Elengedés veszteség
_DebitChartOfAccounts = _ChartOfAccounts_Rounding_Loss
_CreditChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eOut)
_Controlling = _Controlling_Rounding_Loss
_InAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
Else 'Elengedés nyereség
_DebitChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eOut)
_CreditChartOfAccounts = _ChartOfAccounts_Rounding_Win
_Controlling = _Controlling_Rounding_Win
_OutAmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
End If
End Select
Else
Select Case _PCIGroup.PartnerType
Case ePartnerType.ePayabels
If _PCIGroup.BallanceDEV > 0 Then 'Elengedés nyereség szállító
_DebitChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eIn)
_CreditChartOfAccounts = _ChartOfAccounts_Rounding_Win
_Controlling = _Controlling_Rounding_Win
_OutAmountDEV = Math.Abs(_PCIGroup.BallanceDEV)
Else 'Elengedés veszteség szállító
_DebitChartOfAccounts = _ChartOfAccounts_Rounding_Loss
_CreditChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eIn)
_Controlling = _Controlling_Rounding_Loss
_InAmountDEV = Math.Abs(_PCIGroup.BallanceDEV)
End If
Case ePartnerType.eReceivables
If _PCIGroup.BallanceDEV > 0 Then ' Elengedés veszteség vevő
_DebitChartOfAccounts = _ChartOfAccounts_Rounding_Loss
_CreditChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eOut)
_Controlling = _Controlling_Rounding_Loss
_InAmountDEV = Math.Abs(_PCIGroup.BallanceDEV)
Else 'Elengedés nyereség vevő
_DebitChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Rounding.DateExecution.Year, eVATMode.eOut)
_CreditChartOfAccounts = _ChartOfAccounts_Rounding_Win
_Controlling = _Controlling_Rounding_Win
_OutAmountDEV = Math.Abs(_PCIGroup.BallanceDEV)
End If
End Select
End If
_GLRows_Rounding = _ocur.CreateObject(Of GLRows)()
_GLRows_Rounding.GLHeader = _GLHeader_Rounding
If _PCIGroup.CurrencyName_Account.ShortName = "HUF" Then
_GLRows_Rounding.InAmountHUF = _InAmountHUF
_GLRows_Rounding.OutAmountHUF = _OutAmountHUF
_GLRows_Rounding.InAmountDEV = 0
_GLRows_Rounding.OutAmountDEV = 0
_GLRows_Rounding.AddGLRows(_GLHeader_Rounding, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, Math.Abs(_PCIGroup.BallanceHUF), Nothing, _
_PCIGroup.Customers, Nothing, Nothing, "", Nothing, _Controlling, Nothing, Nothing, Nothing, _PCIGroup.ConnectInfo, _
eGLRowsTypeVAT.eNettoRow, Guid.NewGuid, eTransactionType.eNotSet, eCashType.ePartner, _PCIGroup.PartnerType)
Else
_GLHeader_Rounding.CurrencyRate = _Rate
_GLRows_Rounding.InAmountHUF = Math.Round(_InAmountDEV * _Rate, 0, MidpointRounding.AwayFromZero)
_GLRows_Rounding.OutAmountHUF = Math.Round(_OutAmountDEV * _Rate, 0, MidpointRounding.AwayFromZero)
_GLRows_Rounding.InAmountDEV = _InAmountDEV
_GLRows_Rounding.OutAmountDEV = _OutAmountDEV
_GLRows_Rounding.AddGLRows(_GLHeader_Rounding, _DebitChartOfAccounts, _CreditChartOfAccounts, Math.Abs(_PCIGroup.BallanceDEV), Math.Round(Math.Abs(_PCIGroup.BallanceDEV) * _Rate, 0, MidpointRounding.AwayFromZero), Nothing, _
_PCIGroup.Customers, Nothing, Nothing, "", Nothing, _Controlling, Nothing, Nothing, Nothing, _PCIGroup.ConnectInfo, _
eGLRowsTypeVAT.eNettoRow, Guid.NewGuid, eTransactionType.eNotSet, eCashType.ePartner, _PCIGroup.PartnerType)
End If
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIGroup.CustomersFrom, _PCIGroup.Customers, _PCIGroup.PartnerType, _PCIGroup.ConnectInfo)
Next
_ocur.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
noselect = False
End Sub
Private Sub aPCICheckCustomers_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aPCICheckCustomers.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIDetail As PCIDetail = TryCast(View.SelectedObjects(0), PCIDetail)
Dim _Uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _Customers_OID As String = ""
If _PCIDetail IsNot Nothing Then
_Customers_OID = _PCIDetail.Customers.Oid.ToString
RaiseEvent InitWork(1, 1, 4)
Select Case GLOBAL_SQLType
Case eSQLType.PostgreSQL
_Uow.ExecuteNonQuery("delete from ""PCIDetail"" Where ""Customers""='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.ExecuteNonQuery("update ""InvoiceHeader"" set ""PCIGroup""=Null Where ""Customers""='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.ExecuteNonQuery("update ""PCIGroupAging"" set ""PCIGroup""=Null Where ""Customers""='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.ExecuteNonQuery("delete from ""PCIGroup"" Where ""Customers""='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.CommitChanges()
Case Else
_Uow.ExecuteNonQuery("delete from PCIDetail Where Customers='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.ExecuteNonQuery("update InvoiceHeader set PCIGroup=Null Where Customers='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.ExecuteNonQuery("update PCIGroupAging set PCIGroup=Null Where Customers='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.ExecuteNonQuery("delete from PCIGroup Where Customers='" & _Customers_OID & "'")
RaiseEvent DoWork()
_Uow.CommitChanges()
End Select
RaiseEvent FinalWork
'// InvoiceHeader,GLAccount,RegistryHeader,GLRows
Dim _InvoiceHeader_Collection As New XPCollection(Of InvoiceHeader)(_Uow, _
CriteriaOperator.Parse("IsDeleted=False and isnull(DocumentNumber)=False and Customers.Oid=? and IsEditable=False and isnull(GLAccounts)=True", _Customers_OID))
Dim _InvoiceHeader As InvoiceHeader
RaiseEvent InitWork(1, 1, _InvoiceHeader_Collection.Count)
For Each _InvoiceHeader In _InvoiceHeader_Collection
RaiseEvent DoWork()
GLFunctions.ReconfigurePCI(_Uow, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, 0, _InvoiceHeader.ConnectInfo)
Next
RaiseEvent FinalWork
Dim _RegistryHeader_Collection As New XPCollection(Of RegistryHeader) _
(_Uow, CriteriaOperator.Parse("IsStorno=False and IsDeleted=False and RegistryAcceptState=0 and RegistryType.RegistryMainType =0 and Customers.Oid=? and IsEditable=False and isnull(F_GLAccounts)=True", _Customers_OID))
Dim _RegistryHeader As RegistryHeader
RaiseEvent InitWork(1, 1, _RegistryHeader_Collection.Count)
For Each _RegistryHeader In _RegistryHeader_Collection
RaiseEvent DoWork()
GLFunctions.ReconfigurePCI(_Uow, _RegistryHeader.CustomersFrom, _RegistryHeader.Customers, 1, _RegistryHeader.F_ConnectInfo)
Next
RaiseEvent FinalWork
Dim _GLAccounts_Collection As New XPCollection(Of GLAccounts)(PersistentCriteriaEvaluationBehavior.InTransaction, _
_Uow, CriteriaOperator.Parse("IsDeleted=False and Customers.Oid=? and IsEditable=False", _
_Customers_OID))
Dim _GLAccounts As GLAccounts
RaiseEvent DoWork()
For Each _GLAccounts In _GLAccounts_Collection
GLFunctions.ReconfigurePCI(_Uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo)
Next
Dim _GLRows_Collection As New XPCollection(Of GLRows)(_Uow, CriteriaOperator.Parse("GLHeader.IsDeleted=False and Customer.Oid=? and GLHeader.GLDocumentType in (0,2,3,4,5)", _Customers_OID))
Dim _GLRows As GLRows
RaiseEvent InitWork(1, 1, _GLRows_Collection.Count)
For Each _GLRows In _GLRows_Collection
RaiseEvent DoWork()
GLFunctions.ReconfigurePCI(_Uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
Next
RaiseEvent FinalWork
_Uow.CommitChanges()
_ocur.CommitChanges()
End If
End Sub
Private Sub aRepairPCIGroup_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aRepairPCIGroup.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLAccounts_Collection As New XPCollection(Of GLAccounts)(_uow, CriteriaOperator.Parse("IsNull(ConnectInfo)=True or ConnectInfo='' and IsEditable=False"))
Dim _GLAccounts As GLAccounts
Dim _GLRows As GLRows
RaiseEvent InitWork(1, 1, _GLAccounts_Collection.Count)
For Each _GLAccounts In _GLAccounts_Collection
RaiseEvent DoWork()
_GLAccounts.ConnectInfo = _GLAccounts.DocumentNumber
For Each _GLRows In _GLAccounts.GLRows
_GLRows.ConnectInfo = _GLRows.GLHeader.DocumentNumber
Next
_uow.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo)
_uow.CommitChanges()
Next
RaiseEvent FinalWork
End Sub
Private Sub aRemoveRatediffPCIDetail_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aRemoveRatediffPCIDetail.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _PCIDetail As PCIDetail
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _PCIDetail In View.SelectedObjects
RaiseEvent DoWork()
If _PCIDetail.MainType = "05-Ratediff" Then
_ocur.Delete(_PCIDetail.GLRows)
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _PCIDetail.CustomersFrom, _PCIDetail.Customers, _PCIDetail.PartnerType, _PCIDetail.ConnectInfo)
End If
Next
RaiseEvent FinalWork
End Sub
Private Sub aViewPCIDGroup_Customers_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aViewPCIDGroup_Customers.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup = TryCast(View.SelectedObjects(0), PCIGroup)
ViewPDCI.ViewPDCIDetail_Customers(_onew, Application, e, _PCIGroup.CustomersFrom, _PCIGroup.Customers)
End Sub
Private Sub aViewCPB_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aViewCPB.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PCIGroup As PCIGroup = TryCast(View.SelectedObjects(0), PCIGroup)
Dim _AssetsHandlingCPB As AssetsHandlingCPB
If _PCIGroup IsNot Nothing Then
_AssetsHandlingCPB = _onew.CreateObject(Of AssetsHandlingCPB)()
_AssetsHandlingCPB.Customers = _onew.GetObject(_PCIGroup.Customers)
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "AssetsHandlingCPB_DetailView", True, _AssetsHandlingCPB)
End If
End Sub
Private Sub aPCIGroup_ChangeInfo_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aPCIGroup_ChangeInfo.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _AssetsHandlingGroupChange As AssetsHandlingGroupChange = _onew.CreateObject(Of AssetsHandlingGroupChange)()
_AssetsHandlingGroupChange.QueueIndex = 0
e.View = Application.CreateDetailView(_onew, "AssetsHandlingGroupChange_DetailView", False, _AssetsHandlingGroupChange)
End Sub
Private Sub aPCIGroup_ChangeInfo_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aPCIGroup_ChangeInfo.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup
Dim _AssetsHandlingGroupChange As AssetsHandlingGroupChange = TryCast(e.PopupWindow.View.SelectedObjects(0), AssetsHandlingGroupChange)
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", False)
For Each _PCIGroup In View.SelectedObjects
RaiseEvent DoWork()
If _PCIGroup.InvoiceHeader IsNot Nothing Then
If _AssetsHandlingGroupChange.IsAssetsHandling_InvoiceHeader_Modifies = True Then _PCIGroup.InvoiceHeader.IsAssetsHandling = _AssetsHandlingGroupChange.IsAssetsHandling_InvoiceHeader
If _AssetsHandlingGroupChange.IsAssetsHandling_Note_Invoice Then _PCIGroup.InvoiceHeader.AssetsHandling_Note = _AssetsHandlingGroupChange.AssetsHandling_Note_Invoice
If _AssetsHandlingGroupChange.IsQueueIndex Then
_PCIGroup.InvoiceHeader.AssetsHandlingStatus = _ocur.GetObject(_AssetsHandlingGroupChange.AssetsHandlingStatus)
End If
End If
If _AssetsHandlingGroupChange.IsAssetsHandling_Note_Customers Then _PCIGroup.Customers.AssetsHandling_Note = _AssetsHandlingGroupChange.AssetsHandling_Note_Customers
If _AssetsHandlingGroupChange.IsLateChargeModifies Then _PCIGroup.InvoiceHeader.IsLateCharge = _AssetsHandlingGroupChange.IsLateCharge
Next
RaiseEvent FinalWork
_ocur.CommitChanges()
Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", True)
End Sub
Private Sub aViewPCIDGroup_GLDetails_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aViewPCIDGroup_GLDetails.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup = TryCast(View.SelectedObjects(0), PCIGroup)
ViewPDCI.ViewGLDetails(_onew, Application, e, _PCIGroup.CustomersFrom, _
_PCIGroup.Customers, _PCIGroup.PartnerType, _
_PCIGroup.ConnectInfo)
End Sub
End Class