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.Data.Filtering
Imports DevExpress.ExpressApp.Win.Editors
Imports DevExpress.Xpo
Imports DevExpress.ExpressApp.Win.SystemModule
Imports DevExpress.ExpressApp.Editors
Imports Microsoft.VisualBasic.FileIO
Imports System.Threading

Public Class VivaldiVC
    Inherits DevExpress.ExpressApp.ViewController
    Dim _WaitFormClass As New WaitFormClass

    Private _GridListEditor As GridListEditor
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        RegisterActions(components)
    End Sub
    Protected Overrides Sub OnActivated()
        MyBase.OnActivated()
        _WaitFormClass = New WaitFormClass

        If View.Id = "Vivaldi_InvoiceNameParameters_ListView" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
            Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
        End If
        If View.Id = "Vivaldi_CustomerNameParameters_ListView" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
            Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
        End If
        If View.Id = "Vivaldi_GLAccounts_ListView" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
            Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", False)
        End If
        If View.Id = "GLHeader_GLRows_ListView_Accounts" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
            Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
        End If
        If View.Id = "Vivaldi_DetailView" Then
            AddHandler Frame.GetController(Of ModificationsController)().SaveAction.Executing, AddressOf SaveAction_Executing
            AddHandler Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Executing, AddressOf SaveAction_Executing
            AddHandler Frame.GetController(Of ModificationsController)().SaveAndNewAction.Executing, AddressOf SaveAction_Executing
        End If
    End Sub
    Protected Overrides Sub OnDeactivated()
        MyBase.OnDeactivated()
        If View.Id = "Vivaldi_InvoiceNameParameters_ListView" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
        End If
        If View.Id = "Vivaldi_CustomerNameParameters_ListView" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
        End If
        If View.Id = "Vivaldi_GLAccounts_ListView" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
            Frame.GetController(Of PrintingController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", True)
        End If
        If View.Id = "GLHeader_GLRows_ListView_Accounts" Then
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
            Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
            Frame.GetController(Of PrintingController)().Active.SetItemValue("", True)
        End If
    End Sub
    Protected Overrides Sub OnViewControlsCreated()
        MyBase.OnViewControlsCreated()
    End Sub
    Sub SaveAction_Executing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
    End Sub

    Private Sub aCreateGLAccounts_Vivaldi_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCreateGLAccounts_Vivaldi.Execute
        Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
        Dim _Vivaldi As Vivaldi = _onew.GetObject(TryCast(View.SelectedObjects(0), Vivaldi))
        Dim _RowCount As Long = 0
        Dim _GLAccount As GLAccounts
        Dim _GLRows As GLRows
        If _Vivaldi.ExcelFile Is Nothing Then Exit Sub
        Dim _VAT As VAT
        Dim _DocumentNumber As String = ""
        Dim _DocumentNumber_Last As String = ""
        Dim _DocumentNumber_Act As String = ""
        Dim _MemoryStream As New MemoryStream
        _Vivaldi.ExcelFile.SaveToStream(_MemoryStream)
        Dim _StreamReader As New System.IO.StreamReader(_MemoryStream, System.Text.Encoding.GetEncoding(1250))
        Dim _StrBuffer As String = ""
        Dim columns As String()
        Dim _Loadable As Boolean = False

        _MemoryStream.Seek(0, System.IO.SeekOrigin.Begin)
        _StrBuffer = _StreamReader.ReadToEnd()
        _StreamReader.Close()
        _MemoryStream.Close()

        Using parser As New TextFieldParser(New StringReader(_StrBuffer))
            parser.TextFieldType = FieldType.Delimited
            parser.SetDelimiters(";")
            While Not parser.EndOfData
                Try
                    columns = parser.ReadFields()
                    _RowCount += 1
                Catch ex As MalformedLineException

                End Try
            End While
        End Using
        Try
            Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", False)
            GLOBAL_HAS_Audit = False

            Using parser As New TextFieldParser(New StringReader(_StrBuffer))
                parser.TextFieldType = FieldType.Delimited
                parser.SetDelimiters(";")
                parser.TrimWhiteSpace = True
                _WaitFormClass.Initwork(1, 1, _RowCount)
                While Not parser.EndOfData
                    Try
                        columns = parser.ReadFields()
                        _WaitFormClass.DoWork()
                        If parser.LineNumber > 2 Or parser.LineNumber = -1 Then
                            _DocumentNumber = Replace(columns(3).ToString, " ", "")
                            'If _DocumentNumber = "F01-1-204/2014" Then
                            If _DocumentNumber_Last <> _DocumentNumber Then
                                If _DocumentNumber_Last <> "" Then
                                    '// Az előző befejezése
                                    If _GLAccount IsNot Nothing Then
                                        _GLAccount.RecalculateTotal()
                                        _onew.CommitChanges()
                                    End If
                                End If
                                _Loadable = False
                                _GLAccount = _onew.FindObject(Of GLAccounts)(CriteriaOperator.Parse("CustomersFrom=? and DocumentNumber=? and PartnerType=0 and IsEditable=False", _Vivaldi.CustomersFrom, _DocumentNumber), True)
                                If _GLAccount Is Nothing Then
                                    _Loadable = True
                                    _GLAccount = _onew.CreateObject(Of GLAccounts)()
                                    
                                    _GLAccount.ConnectInfo = _DocumentNumber
                                    _GLAccount.CurrencyName = _onew.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName=?", columns(18).ToString))
                                    If _GLAccount.CurrencyName Is Nothing Then _GLAccount.CurrencyName = _onew.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName='HUF'", columns(18).ToString))
                                    _GLAccount.Customers = _Vivaldi.Customers_ATM
                                    If columns(0).ToString = "KPS" Then _GLAccount.Customers = _Vivaldi.Customers_Cash
                                    If columns(0).ToString = "HKS" Then _GLAccount.Customers = _Vivaldi.Customers_ATM
                                    _GLAccount.CustomersFrom = _Vivaldi.CustomersFrom
                                    If _GLAccount.Customers.Oid = _Vivaldi.Customers_Cash.Oid Then
                                        _GLAccount.PaymentOption = _onew.FindObject(Of PaymentOption)(CriteriaOperator.Parse("ShortName='Készpénz'"))
                                    Else
                                        _GLAccount.PaymentOption = _onew.FindObject(Of PaymentOption)(CriteriaOperator.Parse("ShortName='Átutalás'"))
                                    End If
                                    _GLAccount.DateCreated = CDate(columns(5))
                                    _GLAccount.DateExecution = CDate(columns(6))
                                    _GLAccount.DatePayment = CDate(columns(7))
                                    _GLAccount.DocumentNumber = _GLAccount.ConnectInfo
                                    _GLAccount.GLDocumentType = eGLDocumentType.eGLAccount
                                    _GLAccount.ImportedOther = _Vivaldi.Oid
                                    _GLAccount.IsEditable = False
                                    _GLAccount.IsStorno = False
                                    _GLAccount.NoteHeader = ""
                                    _GLAccount.PartnerType = ePartnerType.eReceivables
                                    

                                    _GLAccount.VATAvowalType = eVATAvowalType.eGeneral
                                End If

                                _DocumentNumber_Last = _DocumentNumber
                            Else

                            End If

                            If _GLAccount IsNot Nothing And _Loadable = True Then

                                'Nettó sor

                                Dim _Rate As Double = 1
                                If Val(SQLNum(columns(17))) <> 0 Then
                                    _Rate = Math.Round((Val(SQLNum(columns(13))) + Val(SQLNum(columns(16)))) / Val(SQLNum(columns(17))), 4, MidpointRounding.AwayFromZero)
                                End If

                                _GLRows = _onew.CreateObject(Of GLRows)()
                                _GLRows.GLHeader = _GLAccount

                                _GLRows.AmountHUF = Val(SQLNum(columns(13)))
                                If Val(SQLNum(columns(17))) <> 0 Then
                                    _GLRows.AmountDEV = Math.Round(_GLRows.AmountHUF / _Rate, 4, MidpointRounding.AwayFromZero)
                                End If
                                _GLRows.ConnectInfo = _GLAccount.ConnectInfo
                                _GLRows.Controlling = Nothing
                                _GLRows.CostHolder = _Vivaldi.CostHolder
                                _GLRows.CostPlace = Nothing
                                If columns(11) = "K" Then
                                    _GLRows.CreditChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountYear=? and AccountNumber=?", Year(_GLAccount.DateExecution), columns(8).ToString))
                                    _GLRows.DebitChartOfAccounts = _GLAccount.Customers.CustomersGLParameters.GetChartOfAccounts(Year(_GLAccount.DateExecution), eVATMode.eOut)
                                ElseIf columns(11) = "T" Then
                                    _GLRows.DebitChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountYear=? and AccountNumber=?", Year(_GLAccount.DateExecution), columns(8).ToString))
                                    _GLRows.CreditChartOfAccounts = _GLAccount.Customers.CustomersGLParameters.GetChartOfAccounts(Year(_GLAccount.DateExecution), eVATMode.eOut)
                                End If
                                _GLRows.Customer = _GLAccount.Customers
                                _GLRows.DateExecution = _GLAccount.DateExecution
                                _GLRows.DateVAT = _GLAccount.DateExecution
                                _GLRows.GLRowsType = eGLRowsType.eNormal
                                _GLRows.GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
                                _GLRows.NoteRows = columns(12).ToString
                                _GLRows.PartnerType = ePartnerType.eReceivables
                                _GLRows.RowIndex = Val(columns(4))
                                _GLRows.TransactionType = eTransactionType.eNotSet
                                _VAT = _onew.FindObject(Of VAT)(CriteriaOperator.Parse("VATBag=?", columns(14)))


                                If _VAT IsNot Nothing Then _GLRows.VAT = _VAT
                                If Val(columns(16)) > 0 Then
                                    'ÁFA sor
                                    _GLRows = _onew.CreateObject(Of GLRows)()
                                    _GLRows.GLHeader = _GLAccount
                                    _GLRows.AmountDEV = 0
                                    _GLRows.AmountHUF = Val(SQLNum(columns(16)))
                                    If Val(SQLNum(columns(17))) <> 0 Then
                                        _GLRows.AmountDEV = Math.Round(_GLRows.AmountHUF / _Rate, 4, MidpointRounding.AwayFromZero)
                                    End If

                                    _GLRows.ConnectInfo = _GLAccount.ConnectInfo
                                    _GLRows.CostHolder = _Vivaldi.CostHolder

                                    If columns(11) = "K" Then
                                        _GLRows.CreditChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountYear=? and AccountNumber=?", Year(_GLAccount.DateExecution), columns(15).ToString))
                                        _GLRows.DebitChartOfAccounts = _GLAccount.Customers.CustomersGLParameters.GetChartOfAccounts(Year(_GLAccount.DateExecution), eVATMode.eOut)
                                    ElseIf columns(11) = "T" Then
                                        _GLRows.DebitChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountYear=? and AccountNumber=?", Year(_GLAccount.DateExecution), columns(15).ToString))
                                        _GLRows.CreditChartOfAccounts = _GLAccount.Customers.CustomersGLParameters.GetChartOfAccounts(Year(_GLAccount.DateExecution), eVATMode.eOut)
                                    End If

                                    _GLRows.Customer = _GLAccount.Customers
                                    _GLRows.DateExecution = _GLAccount.DateExecution
                                    _GLRows.DateVAT = _GLAccount.DateExecution

                                    _GLRows.GLRowsType = eGLRowsType.eNormal
                                    _GLRows.GLRowsTypeVAT = eGLRowsTypeVAT.eVATRow
                                    _GLRows.NoteRows = ""
                                    _GLRows.PartnerType = ePartnerType.eReceivables
                                    _GLRows.RowIndex = Val(columns(4)) + 1
                                    If _VAT IsNot Nothing Then _GLRows.VAT = _VAT
                                End If
                            End If
                        End If
                        'End If
                    Catch ex As MalformedLineException

                    End Try
                End While
                If _GLAccount IsNot Nothing Then _GLAccount.RecalculateTotal()
                _onew.CommitChanges()
                _WaitFormClass.FinalWork()
            End Using
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        Finally
            GLOBAL_HAS_Audit = True
            Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", True)
        End Try
    End Sub

    Private Sub aCheckName_Vivaldi_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCheckName_Vivaldi.Execute
        Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
        Dim _Vivaldi As Vivaldi = _onew.GetObject(TryCast(View.SelectedObjects(0), Vivaldi))
        Dim _RowCount As Long = 0
        Dim _GLAccount As GLAccounts
        Dim _GLRows As GLRows
        If _Vivaldi.ExcelFile Is Nothing Then Exit Sub
        Dim _VAT As VAT
        Dim _DocumentNumber As String
        Dim _J As Long = 1
        Dim _MemoryStream As New MemoryStream
        _Vivaldi.ExcelFile.SaveToStream(_MemoryStream)
        Dim _StreamReader As New System.IO.StreamReader(_MemoryStream, System.Text.Encoding.GetEncoding(1250))
        Dim _StrBuffer As String = ""
        _MemoryStream.Seek(0, System.IO.SeekOrigin.Begin)
        _StrBuffer = _StreamReader.ReadToEnd()
        _StreamReader.Close()
        _MemoryStream.Close()

        Using parser As New TextFieldParser(New StringReader(_StrBuffer))
            parser.TextFieldType = FieldType.Delimited
            parser.SetDelimiters(";")
            While Not parser.EndOfData
                Try
                    Dim columns As String() = parser.ReadFields()
                    _RowCount += 1
                Catch ex As MalformedLineException

                End Try
            End While
        End Using
        Try
            Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", False)
            GLOBAL_HAS_Audit = False

            Using parser As New TextFieldParser(New StringReader(_StrBuffer))
                parser.TextFieldType = FieldType.Delimited
                parser.SetDelimiters(";")
                parser.TrimWhiteSpace = True
                _WaitFormClass.Initwork(1, 1, _RowCount)
                While Not parser.EndOfData
                    Try
                        Dim columns As String() = parser.ReadFields()
                        _WaitFormClass.DoWork()
                        If parser.LineNumber > 2 Then
                            _DocumentNumber = Replace(columns(3).ToString, " ", "")
                            _GLAccount = _onew.FindObject(Of GLAccounts)(CriteriaOperator.Parse("CustomersFrom=? and DocumentNumber=? and PartnerType=0", _Vivaldi.CustomersFrom, _DocumentNumber), True)
                            If _GLAccount Is Nothing Then
                                Debug.Print(String.Format("{0:0000}. {1}", _J, _DocumentNumber))
                                _J += 1
                            End If
                        End If
                    Catch ex As MalformedLineException

                    End Try
                End While
                _WaitFormClass.FinalWork()
            End Using
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        Finally
            GLOBAL_HAS_Audit = True
            Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", True)
        End Try
    End Sub

    Private Sub aRemoveGLAccounts_Vivaldi_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aRemoveGLAccounts_Vivaldi.Execute
        Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
        Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
        Dim _Vivaldi As Vivaldi = TryCast(View.SelectedObjects(0), Vivaldi)
        Dim _GLAccounts_Collection As New XPCollection(Of GLAccounts)(_uow, CriteriaOperator.Parse("ImportedOther=?", _Vivaldi.Oid))

        _uow.Delete(_GLAccounts_Collection)
        _uow.CommitChanges()

        Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
    End Sub
End Class