Files
Nuvolar/Nuvolar.Module/BusinessObjects/Financial/FinancialObjects/FinancialTransactions/Base/Popup/GLRowsDivideVC.vb
T
ivanszabo 9cca882b34 Átállás 17.2.3-ra
Related Work Items: #123
2017-12-02 16:09:26 +01:00

228 lines
13 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.Filtering
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp.Editors
Imports DevExpress.ExpressApp.CloneObject
Imports DevExpress.Persistent.Validation
Imports DevExpress.ExpressApp.SystemModule
Public Class GLRowsDivideVC
Inherits DevExpress.ExpressApp.ViewController
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
Frame.GetController(Of GLRowsDivideVC).aFindPCI.Active.SetItemValue("", False)
Frame.GetController(Of GLRowsDivideVC).aToTable_GLRowsDivide.Active.SetItemValue("", False)
Frame.GetController(Of GLRowsDivideVC).aToTableD_GLRowsDivide.Active.SetItemValue("", False)
If View.Id Like "GLRowsDivideH_GLRows_ListView*" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", False)
End If
If View.Id Like "GLRowsDivideH_GLRowsDivideR_ListView*" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", False)
End If
If View.Id Like "GLRowsDivideH_DetailView*" Then
Frame.GetController(Of GLRowsDivideVC).aFindPCI.Active.SetItemValue("", True)
Frame.GetController(Of GLRowsDivideVC).aToTable_GLRowsDivide.Active.SetItemValue("", True)
Frame.GetController(Of GLRowsDivideVC).aToTableD_GLRowsDivide.Active.SetItemValue("", True)
AddHandler Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DialogController)().AcceptAction.Executing, AddressOf GLRowsDivideH_DetailView_AcceptAction_Executing
End If
If View.Id = "GLRowsDivideH_GLRows_ListView_ConnectionDivide" Then
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
End If
If View.Id = "GLRowsDivideH_GLRowsDivideR_ListView_ConnectionDivide" Then
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
End If
End Sub
Sub GLRowsDivideH_DetailView_AcceptAction_Executing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
Validator.RuleSet.ValidateAll(View.ObjectSpace, View.SelectedObjects, "DialogOk_Contexts")
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id Like "GLRowsDivideH_GLRows_ListView*" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", True)
End If
If View.Id Like "GLRowsDivideH_GLRowsDivideR_ListView*" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", True)
End If
If View.Id Like "GLRowsDivideH_DetailView*" Then
Frame.GetController(Of GLRowsDivideVC).aFindPCI.Active.SetItemValue("", False)
Frame.GetController(Of GLRowsDivideVC).aToTable_GLRowsDivide.Active.SetItemValue("", False)
Frame.GetController(Of GLRowsDivideVC).aToTableD_GLRowsDivide.Active.SetItemValue("", True)
RemoveHandler Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DialogController)().AcceptAction.Executing, AddressOf GLRowsDivideH_DetailView_AcceptAction_Executing
End If
End Sub
Protected Overrides Sub OnViewControlsCreated()
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
MyBase.OnViewControlsCreated()
If View.Id = "GLRowsDivideH_DetailView" Then
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(View.SelectedObjects(0), GLRowsDivideH)
If _GLRowsDivideH.GLRowsBase IsNot Nothing Then
If _GLRowsDivideH.GLRowsBase.Customer IsNot Nothing Then
_GLRowsDivideH.row_Customers = _ocur.FindObject(Of Customers)(CriteriaOperator.Parse("Oid=?", _GLRowsDivideH.GLRowsBase.Customer.Oid))
_GLRowsDivideH.row_CashType = _GLRowsDivideH.GLRowsBase.CashType
_GLRowsDivideH.row_PartnerType = _GLRowsDivideH.GLRowsBase.PartnerType
_GLRowsDivideH.row_ConnectInfo = _GLRowsDivideH.GLRowsBase.ConnectInfo
_GLRowsDivideH.row_Controlling = _GLRowsDivideH.GLRowsBase.Controlling
_GLRowsDivideH.row_CostHolder = _GLRowsDivideH.GLRowsBase.CostHolder
_GLRowsDivideH.row_CostPlace = _GLRowsDivideH.GLRowsBase.CostPlace
_GLRowsDivideH.row_UniqueObjects = _GLRowsDivideH.GLRowsBase.UniqueObjects
_GLRowsDivideH.row_JobNumberObjects = _GLRowsDivideH.GLRowsBase.JobNumberObjects
_GLRowsDivideH.row_NoteRow = _GLRowsDivideH.GLRowsBase.NoteRows
End If
End If
End If
End Sub
Private Sub aFindPCI_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aFindPCI.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(View.SelectedObjects(0), GLRowsDivideH)
Dim _CollectionSource As CollectionSource = New CollectionSource(_onew, GetType(PCIGroup))
If _GLRowsDivideH IsNot Nothing Then
If _GLRowsDivideH.row_Customers IsNot Nothing Then
_CollectionSource.Criteria.Clear()
_CollectionSource.BeginUpdateCriteria()
_CollectionSource.Criteria("1") = CriteriaOperator.Parse("Customers.Oid=?", _GLRowsDivideH.row_Customers.Oid)
_CollectionSource.Criteria("2") = CriteriaOperator.Parse("PartnerType=?", _GLRowsDivideH.row_PartnerType)
_CollectionSource.Criteria("3") = CriteriaOperator.Parse("CustomersFrom.Oid=?", _GLRowsDivideH.GLRowsBase.GLHeader.CustomersFrom.Oid)
_CollectionSource.Criteria("4") = CriteriaOperator.Parse("(BallanceHUF<>0 or BallanceDEV<>0)")
_CollectionSource.Criteria("5") = CriteriaOperator.Parse("(CurrencyName_Account.ShortName=? or CurrencyName_Account.ShortName='HUF')", _GLRowsDivideH.GLRowsBase.LiquidAssets.CurrencyName.ShortName)
_CollectionSource.EndUpdateCriteria()
e.View = Application.CreateListView("PCIGroup_ListView_Find", _CollectionSource, True)
Else
_CollectionSource.Criteria.Clear()
_CollectionSource.BeginUpdateCriteria()
_CollectionSource.Criteria("1") = CriteriaOperator.Parse("PartnerType=?", _GLRowsDivideH.row_PartnerType)
_CollectionSource.Criteria("2") = CriteriaOperator.Parse("CustomersFrom.Oid=?", _GLRowsDivideH.GLRowsBase.GLHeader.CustomersFrom.Oid)
_CollectionSource.EndUpdateCriteria()
e.View = Application.CreateListView("PCIGroup_ListView_Find", _CollectionSource, True)
End If
Else
'Ez - elméletileg - nem fordulhat elõ.
End If
End Sub
Private Sub aFindPCI_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aFindPCI.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(View.SelectedObjects(0), GLRowsDivideH)
Dim _GLRowsDivideR As GLRowsDivideR
For Each _PCIGroup In e.PopupWindow.View.SelectedObjects
_GLRowsDivideR = _ocur.CreateObject(Of GLRowsDivideR)()
_GLRowsDivideR.GLRowsDivideH = _GLRowsDivideH
_GLRowsDivideR.CashType = eCashType.ePartner
_GLRowsDivideR.ChartOfAccounts = Nothing
_GLRowsDivideR.Customers = _ocur.GetObject(_PCIGroup.Customers)
_GLRowsDivideR.ConnectInfo = _PCIGroup.ConnectInfo
_GLRowsDivideR.AmountDEV = Math.Abs(_PCIGroup.BallanceDEV)
_GLRowsDivideR.AmountHUF = Math.Abs(_PCIGroup.BallanceHUF)
_GLRowsDivideR.Save()
Next
_ocur.CommitChanges()
View.Refresh()
End Sub
Private Sub aToTable_GLRowsDivide_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTable_GLRowsDivide.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(View.SelectedObjects(0), GLRowsDivideH)
Dim _GLRowsDivideR As GLRowsDivideR
If _GLRowsDivideH IsNot Nothing Then
If _GLRowsDivideH.GLRowsBase.GLHeader.GLDocumentType = eGLDocumentType.eGLMixed Then
If _GLRowsDivideH.row_CreditChartOfAccounts Is _GLRowsDivideH.row_DebitChartOfAccounts Then
Throw New Exception("*Nem lehet ugyan az a tartozik és a követel fõkönyvi szám !")
End If
End If
_GLRowsDivideR = _ocur.CreateObject(Of GLRowsDivideR)()
_GLRowsDivideR.GLRowsDivideH = _GLRowsDivideH
_GLRowsDivideR.CashType = _GLRowsDivideH.row_CashType
If _GLRowsDivideH.row_CashType = eCashType.eNormal Then
_GLRowsDivideR.ChartOfAccounts = _GLRowsDivideH.row_ChartOfAccounts
Else
_GLRowsDivideR.ChartOfAccounts = Nothing
End If
If _GLRowsDivideH.GLRowsBase.GLHeader.GLDocumentType = eGLDocumentType.eGLMixed Then
_GLRowsDivideR.DebitChartOfAccounts = _GLRowsDivideH.row_DebitChartOfAccounts
_GLRowsDivideR.CreditChartOfAccounts = _GLRowsDivideH.row_CreditChartOfAccounts
End If
_GLRowsDivideR.AmountHUF = _GLRowsDivideH.row_AmountHUF
_GLRowsDivideR.AmountDEV = _GLRowsDivideH.row_AmountDEV
_GLRowsDivideR.ConnectInfo = _GLRowsDivideH.row_ConnectInfo
_GLRowsDivideR.Customers = _GLRowsDivideH.row_Customers
_GLRowsDivideR.NoteRows = _GLRowsDivideH.row_NoteRow
'-- Jelölõ adatok
_GLRowsDivideR.Controlling = _GLRowsDivideH.row_Controlling
_GLRowsDivideR.CostHolder = _GLRowsDivideH.row_CostHolder
_GLRowsDivideR.CostPlace = _GLRowsDivideH.row_CostPlace
_GLRowsDivideR.JobNumberObjects = _GLRowsDivideH.row_JobNumberObjects
_GLRowsDivideR.UniqueObjects = _GLRowsDivideH.row_UniqueObjects
'--
_GLRowsDivideR.Save()
View.Refresh()
_GLRowsDivideH.row_AmountDEV = _GLRowsDivideH.AmountDiffDEV
_GLRowsDivideH.row_AmountHUF = _GLRowsDivideH.AmountDiffHUF
End If
End Sub
Private Sub aToTableD_GLRowsDivide_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTableD_GLRowsDivide.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(View.SelectedObjects(0), GLRowsDivideH)
'Törli a táblázatban lévõ sort
Dim _GLRowsDivideR_ListEditor As ListPropertyEditor
Dim _GLRowsDivideR As GLRowsDivideR
Dim i As Long
_GLRowsDivideR_ListEditor = TryCast(View, DetailView).FindItem("GLRowsDivideR")
_GLRowsDivideR = TryCast(_GLRowsDivideR_ListEditor.ListView.CurrentObject, GLRowsDivideR)
If _GLRowsDivideR IsNot Nothing Then
_GLRowsDivideR.Delete()
View.Refresh()
End If
End Sub
End Class