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

633 lines
33 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.ExpressApp.SystemModule
Imports System.IO
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.Xpo.DB
Public Class GLBaseVC
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
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
'-- Sor módosító letiltása
Frame.GetController(Of GLBaseVC).aGLBaseDivideRows.Active.SetItemValue("", False)
Frame.GetController(Of GLBaseVC).aGLBaseOpenDocument.Active.SetItemValue("", False)
Frame.GetController(Of GLBaseVC).aGLBaseViewPCIDetail.Active.SetItemValue("", False)
Frame.GetController(Of GLBaseVC).aGLBaseDivideRows.TargetObjectType = GetType(Nuvolar.Module.GLRows)
Frame.GetController(Of GLBaseVC).aGLBaseDivideRows.TargetObjectsCriteria = "GLHeader.GLDocumentType='eGLBank' or GLHeader.GLDocumentType='eGLCassa' or GLHeader.GLDocumentType='eGLCompensation' or GLHeader.GLDocumentType='eGLMixed'"
Frame.GetController(Of GLBaseVC).aGLBaseOpenAttachments.Active.SetItemValue("", False)
If View.Id = "GLRows_ListView_Bank" Or _
View.Id = "GLRows_ListView_Cassa" Or _
View.Id = "GLRows_ListView_Mixed" Or _
View.Id = "GLRows_ListView_All" Or _
View.Id = "GLRows_ListView_Compensation" Then
Frame.GetController(Of GLBaseVC).aGLBaseDivideRows.Active.SetItemValue("", True)
Frame.GetController(Of GLBaseVC).aGLBaseOpenDocument.Active.SetItemValue("", True)
Frame.GetController(Of GLBaseVC).aGLBaseOpenAttachments.Active.SetItemValue("", True)
Frame.GetController(Of GLBaseVC).aGLBaseViewPCIDetail.Active.SetItemValue("", True)
End If
If View.Id Like "GLRows_ListView_*" Then
Frame.GetController(Of GLBaseVC).aGLBaseOpenDocument.Active.SetItemValue("", True)
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
'Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
End If
If View.Id = "GLRows_ListView_Error_NoDetails" Then
Dim _ListView As ListView = TryCast(View, ListView)
_ListView.CollectionSource.BeginUpdateCriteria()
_ListView.CollectionSource.Criteria("First") = CriteriaOperator.Parse(GetFilterforNoDetails())
_ListView.CollectionSource.EndUpdateCriteria()
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id Like "GLRows_ListView_*" Then
Frame.GetController(Of GLBaseVC).aGLBaseOpenDocument.Active.SetItemValue("", True)
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", True)
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", True)
End If
End Sub
Private Sub aGLBaseDivideRows_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGLBaseDivideRows.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRowsDivideH As GLRowsDivideH = _onew.CreateObject(Of GLRowsDivideH)()
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
If _GLRows.PartnerType = ePartnerType.ePayabels Or _GLRows.PartnerType = ePartnerType.eReceivables Then
_GLRowsDivideH.GLRows_Oid = _GLRows.Oid
_GLRowsDivideH.row_Customers = _onew.GetObject(_GLRows.Customer)
_GLRowsDivideH.row_PartnerType = _GLRows.PartnerType
e.View = Application.CreateDetailView(_onew, "GLRowsDivideH_DetailView_ConnectionDivide", False, _GLRowsDivideH)
Else
_GLRowsDivideH.GLRows_Oid = _GLRows.Oid
_GLRowsDivideH.row_PartnerType = ePartnerType.eNotSet
e.View = Application.CreateDetailView(_onew, "GLRowsDivideH_DetailView", False, _GLRowsDivideH)
End If
End If
End Sub
Private Sub aGLBaseDivideRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGLBaseDivideRows.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(e.PopupWindow.View.SelectedObjects(0), GLRowsDivideH)
If _GLRows IsNot Nothing Then
_GLRows.DivideRows(_ocur, _GLRows, _GLRowsDivideH, True)
End If
End Sub
Private Sub aGLBaseOpenDocument_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGLBaseOpenDocument.Execute
'-- Karton sorához tartozó eredeti dokumentum megnyitása
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, _onew.GetObject(_GLRows.GLHeader))
End If
End Sub
Private Sub aGLBaseOpenAttachments_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGLBaseOpenAttachments.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
If _GLRows.GLHeader IsNot Nothing Then
Select Case _GLRows.GLHeader.GLDocumentType
Case eGLDocumentType.eGLAccount
Dim _GLAccounts As GLAccounts = _ocur.GetObjectByKey(Of GLAccounts)(_GLRows.GLHeader.Oid)
If _GLAccounts IsNot Nothing Then
If _GLAccounts.ImportedRegistryHeader IsNot Nothing Then
Dim _RegistryHeader As RegistryHeader = _ocur.GetObjectByKey(Of RegistryHeader)(_GLAccounts.ImportedRegistryHeader.Oid)
If _RegistryHeader IsNot Nothing Then
If _RegistryHeader.DocumentFile IsNot Nothing Then
ProcessDocument(_RegistryHeader.DocumentFile)
End If
End If
End If
If _GLAccounts.ImportedInvoice IsNot Nothing Then
Dim _InvoiceHeader As InvoiceHeader = _ocur.GetObjectByKey(Of InvoiceHeader)(_GLAccounts.ImportedInvoice.Oid)
If _InvoiceHeader IsNot Nothing Then
If _InvoiceHeader.PDF_Copy IsNot Nothing Then
ProcessDocument(_InvoiceHeader.PDF_Copy)
End If
If _InvoiceHeader.PDF_Copy Is Nothing Then
ViewAttachments.ViewAttachments(_ocur, Frame, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, _InvoiceHeader.DocumentNumber, "")
End If
End If
End If
End If
Case eGLDocumentType.eGLBank
Dim _GLBank As GLBank = _ocur.GetObjectByKey(Of GLBank)(_GLRows.GLHeader.Oid)
Case eGLDocumentType.eGLCassa
Dim _GLCassa As GLCassa = _ocur.GetObjectByKey(Of GLCassa)(_GLRows.GLHeader.Oid)
_GLCassa.PrintCassaDocument(_GLCassa, _ocur, Frame)
Case (eGLDocumentType.eGLCompensation)
Dim _GLCompensation As GLCompensation = _ocur.GetObjectByKey(Of GLCompensation)(_GLRows.GLHeader.Oid)
Case eGLDocumentType.eGLMixed
Dim _GLMixed As GLMixed = _ocur.GetObjectByKey(Of GLMixed)(_GLRows.GLHeader.Oid)
If _GLMixed IsNot Nothing Then
If _GLMixed.DocumentFile IsNot Nothing Then
ProcessDocument(_GLMixed.DocumentFile)
End If
End If
End Select
End If
End If
End Sub
Private Sub ProcessDocument(_DocumentFile As FileData)
Dim _FilePath As String = Path.Combine(Path.GetTempPath(), _DocumentFile.FileName)
Dim _Stream As Stream = New FileStream(_FilePath, FileMode.Create)
_DocumentFile.SaveToStream(_Stream)
_Stream.Close()
Process.Start(_FilePath)
End Sub
Private Sub aPCICheck_GLRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aPCICheck_GLRows.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLRows As GLRows
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLRows In View.SelectedObjects
If _GLRows.PartnerType <> ePartnerType.eNotSet Then
RaiseEvent DoWork()
ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
End If
Next
RaiseEvent FinalWork
End Sub
Private Sub aViewGLDetail_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewGLDetail.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
Dim _CS As New CollectionSource(_onew, GetType(GLDetails))
_CS.BeginUpdateCriteria()
_CS.Criteria.Clear()
_CS.Criteria("First") = CriteriaOperator.Parse("GLRows.Oid=?", _GLRows.Oid)
_CS.EndUpdateCriteria()
e.ShowViewParameters.CreatedView = Application.CreateListView("GLDetails_ListView", _CS, False)
End If
End Sub
Private Sub aReconfigureGLDetail_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aReconfigureGLDetail.Execute
'// Csak SysAdmin használhatja
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _CurrentUser As User = _ocur.Session.GetObjectByKey(Of User)(_ocur.Session.GetKeyValue(SecuritySystem.CurrentUser))
If _CurrentUser.UserName <> "SysAdmin" Then
Exit Sub
End If
Dim _GLDetail_Collection As New XPCollection(Of GLDetails)(_uow)
_uow.Delete(_GLDetail_Collection)
Dim _GLDetail As GLDetails
Dim _GLRows As GLRows
Dim _GLRows_Collection As New XPCollection(Of GLRows)(_uow)
RaiseEvent InitWork(1, 1, _GLRows_Collection.Count)
For Each _GLRows In _GLRows_Collection
RaiseEvent DoWork()
_GLDetail = New GLDetails(_uow)
_GLDetail.GLRows = _GLRows
_GLDetail.AmountDEV = _GLRows.AmountDEV
_GLDetail.AmountHUF = _GLRows.AmountHUF
_GLDetail.Side = "T"
_GLDetail.ChartOfAccounts = _GLRows.DebitChartOfAccounts
_GLDetail = New GLDetails(_uow)
_GLDetail.GLRows = _GLRows
_GLDetail.AmountDEV = _GLRows.AmountDEV
_GLDetail.AmountHUF = _GLRows.AmountHUF
_GLDetail.Side = "K"
_GLDetail.ChartOfAccounts = _GLRows.CreditChartOfAccounts
_uow.CommitChanges()
Next
_uow.CommitChanges()
RaiseEvent FinalWork
End Sub
Private Sub aReconfigureRowsDateExecution_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs)
'Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
'Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
'Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", False)
'Dim _InvoiceRows_Collection As New XPCollection(Of InvoiceRows)(_uow, CriteriaOperator.Parse("isnull(InvoiceHeader)=False and isnull(DateExecution)=True"))
'Dim _InvoiceRows As InvoiceRows
'RaiseEvent InitWork(1, 1, _InvoiceRows_Collection.Count)
'For Each _InvoiceRows In _InvoiceRows_Collection
' RaiseEvent DoWork()
' _InvoiceRows.DateExecution = _InvoiceRows.InvoiceHeader.DateExecution
'Next
'RaiseEvent FinalWork
'_uow.CommitChanges()
'Dim _RegistryRowsFinancialControlling_Collection As New XPCollection(Of RegistryRowsFinancialControlling)(_uow, CriteriaOperator.Parse("isnull(DateExecution)=True and isnull(RegistryHeader)=False and RegistryHeader.IsEditable=False and RegistryHeader.RegistryType.RegistryMainType in ('eAccount')"))
'Dim _RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
'For Each _RegistryRowsFinancialControlling In _RegistryRowsFinancialControlling_Collection
' RaiseEvent DoWork()
' _RegistryRowsFinancialControlling.DateExecution = _RegistryRowsFinancialControlling.RegistryHeader.F_DateExecution
'Next
'RaiseEvent FinalWork
'_uow.CommitChanges()
'Dim _GLRows_Collection As New XPCollection(Of GLRows)(_uow, CriteriaOperator.Parse("isnull(GLHeader)=False and isnull(DateExecution)=True"))
'Dim _GLRows As GLRows
'RaiseEvent InitWork(1, 1, _GLRows_Collection.Count)
'For Each _GLRows In _GLRows_Collection
' RaiseEvent DoWork()
' _GLRows.DateExecution = _GLRows.GLHeader.DateExecution
'Next
'RaiseEvent FinalWork
'_uow.CommitChanges()
'Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", True)
End Sub
Private Sub aDeleteGLRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aDeleteGLRows.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLRows As GLRows
Dim _CustomersFrom As CustomersFrom
Dim _Customers As Customers
Dim _PartnerType As ePartnerType
Dim _ConnectInfo As String
Dim _GLAccountsRevaluations As GLAccountsRevaluations
For Each _GLRows In View.SelectedObjects
_CustomersFrom = _GLRows.GLHeader.CustomersFrom
_Customers = _GLRows.Customer
_PartnerType = _GLRows.PartnerType
_ConnectInfo = _GLRows.ConnectInfo
_GLAccountsRevaluations = _ocur.FindObject(Of GLAccountsRevaluations)(CriteriaOperator.Parse("GLRows.Oid=?", _GLRows.Oid)
)
If _GLAccountsRevaluations IsNot Nothing Then
_ocur.Delete(_GLAccountsRevaluations)
End If
_ocur.Delete(_GLRows)
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _CustomersFrom, _Customers, _PartnerType, _ConnectInfo)
_uow.CommitChanges()
Next
End Sub
Private Sub aGLRowsNormalToPartner_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aGLRowsNormalToPartner.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRowsNormalToPartnerPopup As GLRowsNormalToPartnerPopup
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
_GLRowsNormalToPartnerPopup = _onew.CreateObject(Of GLRowsNormalToPartnerPopup)()
_GLRowsNormalToPartnerPopup.PartnerType = ePartnerType.eNotSet
_GLRowsNormalToPartnerPopup.Customers = _onew.GetObject(_GLRows.Customer)
_GLRowsNormalToPartnerPopup.ConnectInfo = _GLRows.ConnectInfo
e.View = Application.CreateDetailView(_onew, "GLRowsNormalToPartnerPopup_DetailView", True, _GLRowsNormalToPartnerPopup)
End If
End Sub
Private Sub aGLRowsNormalToPartner_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aGLRowsNormalToPartner.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRowsNormalToPartnerPopup = TryCast(e.PopupWindow.View.SelectedObjects(0), GLRowsNormalToPartnerPopup)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
Dim _GLBank As GLBank = TryCast(_GLRows.GLHeader, GLBank)
Dim _GLCassa As GLCassa = TryCast(_GLRows.GLHeader, GLCassa)
Dim _GLCompensation As GLCompensation = TryCast(_GLRows.GLHeader, GLCompensation)
If _GLRows IsNot Nothing Then
_GLRows.PartnerType = _GLRowsNormalToPartnerPopup.PartnerType
_GLRows.Customer = _ocur.GetObject(_GLRowsNormalToPartnerPopup.Customers)
_GLRows.ConnectInfo = _GLRowsNormalToPartnerPopup.ConnectInfo
_GLRows.TransactionType = _GLRowsNormalToPartnerPopup.TransactionType
If _GLBank IsNot Nothing Then
If _GLRows.PartnerType = ePartnerType.eReceivables Then
If _GLRows.TransactionType = eTransactionType.ePartnerCredit Then
_GLRows.DebitChartOfAccounts = _GLBank.LiquidAssets_Main.GetChartOfAccounts(_GLBank.DateExecution.Year, 0)
_GLRows.CreditChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLBank.DateExecution.Year, eVATMode.eOut)
ElseIf _GLRows.TransactionType = eTransactionType.ePartnerDebit Then
_GLRows.DebitChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLBank.DateExecution.Year, eVATMode.eOut)
_GLRows.CreditChartOfAccounts = _GLBank.LiquidAssets_Main.GetChartOfAccounts(_GLBank.DateExecution.Year, 0)
End If
Else
If _GLRows.TransactionType = eTransactionType.ePartnerCredit Then
_GLRows.DebitChartOfAccounts = _GLBank.LiquidAssets_Main.GetChartOfAccounts(_GLBank.DateExecution.Year, 0)
_GLRows.CreditChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLBank.DateExecution.Year, eVATMode.eIn)
ElseIf _GLRows.TransactionType = eTransactionType.ePartnerDebit Then
_GLRows.DebitChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLBank.DateExecution.Year, eVATMode.eIn)
_GLRows.CreditChartOfAccounts = _GLBank.LiquidAssets_Main.GetChartOfAccounts(_GLBank.DateExecution.Year, 0)
End If
End If
End If
If _GLCassa IsNot Nothing Then
If _GLRows.PartnerType = ePartnerType.eReceivables Then
If _GLRows.TransactionType = eTransactionType.ePartnerCredit Then
_GLRows.DebitChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
_GLRows.CreditChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
ElseIf _GLRows.TransactionType = eTransactionType.ePartnerDebit Then
_GLRows.DebitChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
_GLRows.CreditChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
End If
Else
If _GLRows.TransactionType = eTransactionType.ePartnerCredit Then
_GLRows.DebitChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
_GLRows.CreditChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eIn)
ElseIf _GLRows.TransactionType = eTransactionType.ePartnerDebit Then
_GLRows.DebitChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eIn)
_GLRows.CreditChartOfAccounts = _GLBank.LiquidAssets_Main.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
End If
End If
End If
If _GLCompensation IsNot Nothing Then
If _GLRows.PartnerType = ePartnerType.eReceivables Then
If _GLRows.TransactionType = eTransactionType.ePartnerCredit Then
_GLRows.DebitChartOfAccounts = _GLCompensation.LiquidAssets_Main.GetChartOfAccounts(_GLCompensation.DateExecution.Year, 0)
_GLRows.CreditChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCompensation.DateExecution.Year, eVATMode.eOut)
ElseIf _GLRows.TransactionType = eTransactionType.ePartnerDebit Then
_GLRows.DebitChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCompensation.DateExecution.Year, eVATMode.eOut)
_GLRows.CreditChartOfAccounts = _GLCompensation.LiquidAssets_Main.GetChartOfAccounts(_GLCompensation.DateExecution.Year, 0)
End If
Else
If _GLRows.TransactionType = eTransactionType.ePartnerCredit Then
_GLRows.DebitChartOfAccounts = _GLCompensation.LiquidAssets_Main.GetChartOfAccounts(_GLCompensation.DateExecution.Year, 0)
_GLRows.CreditChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCompensation.DateExecution.Year, eVATMode.eIn)
ElseIf _GLRows.TransactionType = eTransactionType.ePartnerDebit Then
_GLRows.DebitChartOfAccounts = _GLRows.Customer.CustomersGLParameters.GetChartOfAccounts(_GLCompensation.DateExecution.Year, eVATMode.eIn)
_GLRows.CreditChartOfAccounts = _GLCompensation.LiquidAssets_Main.GetChartOfAccounts(_GLCompensation.DateExecution.Year, 0)
End If
End If
End If
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
End If
End Sub
Private Sub aGLRowsRepairYear_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aGLRowsRepairYear.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRows As GLRows
Dim _ChartOfAccounts As ChartOfAccounts
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", False)
For Each _GLRows In View.SelectedObjects
RaiseEvent DoWork()
_GLRows = _onew.GetObject(_GLRows)
If _GLRows.GLHeader IsNot Nothing Then
If _GLRows.GLHeader.DateExecution.Year <> _GLRows.DebitChartOfAccounts.AccountYear Then
_ChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=? and AccountYear=?", _GLRows.DebitChartOfAccounts.AccountNumber, _GLRows.GLHeader.DateExecution.Year))
If _ChartOfAccounts IsNot Nothing Then
_GLRows.DebitChartOfAccounts = _ChartOfAccounts
End If
End If
If _GLRows.GLHeader.DateExecution.Year <> _GLRows.CreditChartOfAccounts.AccountYear Then
_ChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber=? and AccountYear=?", _GLRows.CreditChartOfAccounts.AccountNumber, _GLRows.GLHeader.DateExecution.Year))
If _ChartOfAccounts IsNot Nothing Then
_GLRows.CreditChartOfAccounts = _ChartOfAccounts
End If
End If
End If
Next
_onew.CommitChanges()
RaiseEvent FinalWork
Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", True)
End Sub
Private Function GetFilterforNoDetails() As String
Dim _SQL As String = ""
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
Dim _SelectStatementResultRow As SelectStatementResultRow
Dim _SelectedData As DevExpress.Xpo.DB.SelectedData = Nothing
Dim _return As String = ""
Select Case GLOBAL_SQLType
Case eSQLType.MySQL, eSQLType.MSSQL
_SQL = " SELECT t1.Oid,COUNT(t2.Oid)"
_SQL += " FROM GLRows t1 LEFT JOIN GLDetails t2 ON"
_SQL += " t1.Oid=t2.GLRows JOIN GLHeader t3 ON"
_SQL += " t1.GLHeader = t3.Oid"
_SQL += " WHERE t3.IsEditable = 0"
_SQL += " GROUP BY t1.Oid"
_SQL += " HAVING COUNT(t2.Oid) <> 2"
Case eSQLType.PostgreSQL
_SQL = " SELECT t1.""Oid"",COUNT(t2.""Oid"")"
_SQL += " FROM ""GLRows"" t1 LEFT JOIN ""GLDetails"" t2 ON"
_SQL += " t1.""Oid""=t2.""GLRows"" JOIN ""GLHeader"" t3 ON"
_SQL += " t1.""GLHeader"" = t3.""Oid"""
_SQL += " WHERE t3.""IsEditable"" = 0"
_SQL += " GROUP BY t1.""Oid"""
_SQL += " HAVING COUNT(t2.""Oid"") <> 2"
End Select
_SelectedData = _uow.ExecuteQuery(_SQL)
If _SelectedData.ResultSet.Length > 0 Then
For Each _SelectStatementResultRow In _SelectedData.ResultSet(0).Rows
If _return = "" Then
_return = "'" & _SelectStatementResultRow.Values(0).ToString & "'"
Else
_return += ",'" & _SelectStatementResultRow.Values(0).ToString & "'"
End If
Next
End If
Return "Oid in (" & _return & ")"
End Function
Private Sub aRepairNoDetails_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aRepairNoDetails.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
Dim _GLRows As GLRows
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLRows In View.SelectedObjects
RaiseEvent DoWork()
Dim _GLDetail_Collection As New XPCollection(Of GLDetails)(_uow, CriteriaOperator.Parse("GLRows.Oid=?", _GLRows.Oid.ToString))
_uow.Delete(_GLDetail_Collection)
Dim _GLDetail As GLDetails
_GLDetail = New GLDetails(_uow)
_GLDetail.GLRows = _uow.GetObjectByKey(Of GLRows)(_GLRows.Oid)
_GLDetail.AmountDEV = _GLRows.AmountDEV
_GLDetail.AmountHUF = _GLRows.AmountHUF
_GLDetail.Side = "T"
_GLDetail.ChartOfAccounts = _uow.GetObjectByKey(Of ChartOfAccounts)(_GLRows.DebitChartOfAccounts.Oid)
_GLDetail = New GLDetails(_uow)
_GLDetail.GLRows = _uow.GetObjectByKey(Of GLRows)(_GLRows.Oid)
_GLDetail.AmountDEV = _GLRows.AmountDEV
_GLDetail.AmountHUF = _GLRows.AmountHUF
_GLDetail.Side = "K"
_GLDetail.ChartOfAccounts = _uow.GetObjectByKey(Of ChartOfAccounts)(_GLRows.CreditChartOfAccounts.Oid)
_uow.CommitChanges()
Next
RaiseEvent FinalWork
End Sub
#Region "ROW INDEX"
Private Sub aDown_GLRows_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aDown_GLRows.Execute
' A kiválaszott sort egy sorral lejebb helyezi
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLHeader As GLHeader = TryCast(View.CurrentObject, GLRows).GLHeader
Dim _GLRowsSelected As GLRows
Dim _GLRowsPlus As GLRows = Nothing
Dim _GLRows As GLRows
Me.ReorderRows(_ocur, _GLHeader)
Try
_GLRowsSelected = TryCast(View.SelectedObjects(0), GLRows) ' Kiveszi a kijelölt sorok közül az elsõt
Catch
' TESZT MIATT!!!! ----------------------------------------------------------------
Throw New Exception("*Nincs sor kiválasztva, vagy nem a sor kijelölése az aktív!")
End Try
If _GLRowsSelected.RowIndex < _GLHeader.GLRows.Count - 1 Then
For Each _GLRows In _GLHeader.GLRows
If _GLRows.RowIndex = _GLRowsSelected.RowIndex + 1 Then
_GLRowsPlus = _GLRows
Exit For
End If
Next
If _GLRowsPlus IsNot Nothing Then
_GLRowsSelected.RowIndex += 1
_GLRowsPlus.RowIndex -= 1
End If
_ocur.CommitChanges()
TryCast(View, ListView).CollectionSource.Reload()
End If
End Sub
Private Sub aUp_GLRows_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aUp_GLRows.Execute
' A kiválaszott sort egy sorral feljebb helyezi
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLHeader As GLHeader = TryCast(View.SelectedObjects(0), GLRows).GLHeader
Dim _GLRowsSelected As GLRows
Dim _GLRowsMinus As GLRows = Nothing
Dim _GLRows As GLRows
Me.ReorderRows(_ocur, _GLHeader)
Try
_GLRowsSelected = TryCast(View.SelectedObjects(0), GLRows) ' Az editor egy listview, kiveszi az elsõ kijelölt sorát
Catch
' TESZT MIATT!!!! ----------------------------------------------------------------
Throw New Exception("*Nincs sor kiválasztva, vagy nem a sor kijelölése az aktív!")
End Try
If _GLRowsSelected.RowIndex > 0 Then
For Each _GLRows In _GLHeader.GLRows
If _GLRows.RowIndex = _GLRowsSelected.RowIndex - 1 Then
_GLRowsMinus = _GLRows
Exit For
End If
Next
If _GLRowsMinus IsNot Nothing Then
_GLRowsSelected.RowIndex -= 1
_GLRowsMinus.RowIndex += 1
End If
_ocur.CommitChanges()
TryCast(View, ListView).CollectionSource.Reload()
End If
End Sub
Private Sub ReorderRows(_ocur As Xpo.XPObjectSpace, _GLHeader As GLHeader)
Dim _NoOrder As Boolean = False
Dim _RowIndex As Long = 0
Dim _GLRows As GLRows
'//------------------------------------------------------------------------------------------
_GLHeader.GLRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Descending))
For Each _GLRows In _GLHeader.GLRows
If _GLRows.RowIndex <= 0 Then
_NoOrder = True
Exit For
End If
Exit For
Next
_GLHeader.GLRows.Sorting.RemoveAt(_GLHeader.GLRows.Sorting.Count - 1)
If _NoOrder Then
For Each _GLRows In _GLHeader.GLRows
_GLRows.RowIndex = _RowIndex
_RowIndex += 1
Next
End If
_ocur.CommitChanges()
'----------------------------------------------------------------------------------------------
End Sub
#End Region
Private Sub aGLBaseViewPCIDetail_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aGLBaseViewPCIDetail.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
ViewPDCI.ViewPDCIDetail(_onew, Application, e, _GLRows.GLHeader.CustomersFrom, _
_GLRows.Customer, _GLRows.PartnerType, _
_GLRows.ConnectInfo)
End If
End Sub
End Class