163 lines
9.7 KiB
VB.net
163 lines
9.7 KiB
VB.net
Imports System.Xml
|
|
Imports DevExpress.Xpo
|
|
Imports System.Configuration
|
|
Imports SISBusiness.RabbitMQ.Module
|
|
Imports DevExpress.Data.Filtering
|
|
Imports System.Collections.Specialized
|
|
Imports DevExpress.Persistent.BaseImpl
|
|
Imports SISBusiness.Module
|
|
|
|
Public Module GetCustomers
|
|
Public Sub CustomerImport(_XML As XmlDocument, _RootXMLTag As String, _errorLogFile As String)
|
|
Try
|
|
Dim _Oid_DH As String = _XML.SelectSingleNode(_RootXMLTag + "/id").InnerText
|
|
Dim _uow As UnitOfWork
|
|
Dim _Session As New Session
|
|
_Session.ConnectionString = ConfigurationManager.ConnectionStrings.Item("ConnectionString").ConnectionString
|
|
_Session.Connect()
|
|
If _Session.IsConnected Then
|
|
|
|
_uow = New UnitOfWork(_Session.DataLayer)
|
|
'_uow.Dictionary.GetDataStoreSchema(GetType(Customers).Assembly)
|
|
'InitAuditTrail(_uow)
|
|
Console.WriteLine(String.Format("Fogadás... {0} OID_DH:{1} Ügyfélszám:{2}", GLOBAL_Index.ToString, _Oid_DH, _XML.SelectSingleNode(_RootXMLTag + "/ugyfelszam").InnerText))
|
|
GLOBAL_Index += 1
|
|
|
|
|
|
Dim _Customers As Customers = _uow.FindObject(Of Customers)(CriteriaOperator.Parse("CustomerNumber=?", _Oid_DH))
|
|
If _Customers Is Nothing Then
|
|
_Customers = _uow.FindObject(Of Customers)(CriteriaOperator.Parse("Oid_DH=?", _Oid_DH))
|
|
End If
|
|
|
|
If _Customers IsNot Nothing Then
|
|
_Customers.Oid_DH = _Oid_DH
|
|
If _Customers.Name <> _XML.SelectSingleNode(_RootXMLTag + "/nev").InnerText Then
|
|
_Customers.Name = _XML.SelectSingleNode(_RootXMLTag + "/nev").InnerText
|
|
_Customers.FullName = _Customers.Name
|
|
End If
|
|
Dim _konyvelesi_parameter As String = _XML.SelectSingleNode(_RootXMLTag + "/konyvelesi_parameter").InnerText
|
|
Dim _NameValueCollection As NameValueCollection = ConfigurationManager.GetSection("CustomersGLParameters")
|
|
|
|
Dim _CustomersGLParameters As CustomersGLParameters = _uow.FindObject(Of CustomersGLParameters)(CriteriaOperator.Parse("Oid=?", _NameValueCollection(_konyvelesi_parameter)))
|
|
_Customers.CustomersGLParameters = _CustomersGLParameters
|
|
Dim _Address1City As String = _XML.SelectSingleNode(_RootXMLTag + "/varos").InnerText
|
|
Dim _Address1Street As String = _XML.SelectSingleNode(_RootXMLTag + "/utca").InnerText + " " + _XML.SelectSingleNode(_RootXMLTag + "/hazszam").InnerText
|
|
Dim _Address1ZipPostal As String = _XML.SelectSingleNode(_RootXMLTag + "/irszam").InnerText
|
|
Dim _Address1 As Address = _uow.FindObject(Of Address)(CriteriaOperator.Parse("City=? AND Street=? AND ZipPostal=?", _Address1City, _Address1Street, _Address1ZipPostal))
|
|
|
|
If _Address1 Is Nothing Then
|
|
_Address1 = New Address(_uow)
|
|
With _Address1
|
|
.City = _Address1City
|
|
.Street = _Address1Street
|
|
.ZipPostal = _Address1ZipPostal
|
|
End With
|
|
|
|
_Customers.Address1 = _Address1
|
|
End If
|
|
|
|
Dim _Address2City As String = _XML.SelectSingleNode(_RootXMLTag + "/levelezesivaros").InnerText
|
|
Dim _Address2Street As String = _XML.SelectSingleNode(_RootXMLTag + "/levelezesiutca").InnerText + " " + _XML.SelectSingleNode(_RootXMLTag + "/levelezesihazszam").InnerText
|
|
Dim _Address2ZipPostal As String = _XML.SelectSingleNode(_RootXMLTag + "/levelezesiirszam").InnerText
|
|
Dim _Address2 As Address = _uow.FindObject(Of Address)(CriteriaOperator.Parse("City=? AND Street=? AND ZipPostal=?", _Address2City, _Address2Street, _Address2ZipPostal))
|
|
|
|
If _Address2 Is Nothing Then
|
|
_Address2 = New Address(_uow)
|
|
With _Address2
|
|
.City = _Address2City
|
|
.Street = _Address2Street
|
|
.ZipPostal = _Address2ZipPostal
|
|
End With
|
|
|
|
_Customers.Address1 = _Address1
|
|
End If
|
|
|
|
Dim _XmlNodeList As XmlNodeList = _XML.SelectNodes(_RootXMLTag + "/bankszamlaszamok")
|
|
|
|
For Each _XmlNode As XmlNode In _XmlNodeList
|
|
If _XmlNode.HasChildNodes Then
|
|
For Each _XmlNode_Bank As XmlNode In _XmlNode.ChildNodes
|
|
Dim _AccountNumber As String = _XmlNode_Bank.SelectSingleNode("bankszamlaszam").InnerText
|
|
Dim _ShortName As String = _Customers.FullName + " " + _AccountNumber
|
|
|
|
Dim _CustomerBankAccounts As CustomerBankAccounts = _uow.FindObject(Of CustomerBankAccounts)(CriteriaOperator.Parse("AccountNumber=? AND ShortName=?", _AccountNumber, _ShortName))
|
|
If _CustomerBankAccounts Is Nothing Then
|
|
_CustomerBankAccounts = New CustomerBankAccounts(_uow)
|
|
With _CustomerBankAccounts
|
|
.AccountNumber = _XmlNode_Bank.SelectSingleNode("bankszamlaszam").InnerText
|
|
.Customers = _Customers
|
|
.ShortName = _Customers.FullName + " " + .AccountNumber
|
|
Select Case _XmlNode_Bank.SelectSingleNode("automatikusfeldolgozas").InnerText
|
|
Case "1"
|
|
.AutomaticProcessing = True
|
|
Case "0"
|
|
.AutomaticProcessing = False
|
|
Case Else
|
|
.AutomaticProcessing = False
|
|
End Select
|
|
End With
|
|
_Customers.CustomerBankAccounts.Add(_CustomerBankAccounts)
|
|
End If
|
|
Next
|
|
End If
|
|
Next
|
|
_Customers.QueueUpdated = GetSQLTime(_uow)
|
|
Else
|
|
_Customers = New Customers(_uow)
|
|
With _Customers
|
|
.Oid_DH = _Oid_DH
|
|
.CustomerNumber = _XML.SelectSingleNode(_RootXMLTag + "/ugyfelszam").InnerText
|
|
.Name = _XML.SelectSingleNode(_RootXMLTag + "/nev").InnerText
|
|
.FullName = .Name
|
|
|
|
Dim _konyvelesi_parameter As String = _XML.SelectSingleNode(_RootXMLTag + "/konyvelesi_parameter").InnerText
|
|
Dim _NameValueCollection As NameValueCollection = ConfigurationManager.GetSection("CustomersGLParameters")
|
|
|
|
Dim _CustomersGLParameters As CustomersGLParameters = _uow.FindObject(Of CustomersGLParameters)(CriteriaOperator.Parse("Oid=?", _NameValueCollection(_konyvelesi_parameter)))
|
|
.CustomersGLParameters = _CustomersGLParameters
|
|
|
|
Dim _Address1 As New Address(_uow)
|
|
With _Address1
|
|
.City = _XML.SelectSingleNode(_RootXMLTag + "/varos").InnerText
|
|
.Street = _XML.SelectSingleNode(_RootXMLTag + "/utca").InnerText + " " + _XML.SelectSingleNode(_RootXMLTag + "/hazszam").InnerText
|
|
.ZipPostal = _XML.SelectSingleNode(_RootXMLTag + "/irszam").InnerText
|
|
End With
|
|
.Address1 = _Address1
|
|
|
|
Dim _Address2 As New Address(_uow)
|
|
With _Address2
|
|
.City = _XML.SelectSingleNode(_RootXMLTag + "/levelezesivaros").InnerText
|
|
.Street = _XML.SelectSingleNode(_RootXMLTag + "/levelezesiutca").InnerText + " " + _XML.SelectSingleNode(_RootXMLTag + "/levelezesihazszam").InnerText
|
|
.ZipPostal = _XML.SelectSingleNode(_RootXMLTag + "/levelezesiirszam").InnerText
|
|
End With
|
|
.Address2 = _Address2
|
|
Dim _XmlNodeList As XmlNodeList = _XML.SelectNodes(_RootXMLTag + "/bankszamlaszamok")
|
|
|
|
For Each _XmlNode As XmlNode In _XmlNodeList
|
|
If _XmlNode.HasChildNodes Then
|
|
For Each _XmlNode_Bank As XmlNode In _XmlNode.ChildNodes
|
|
Dim _CustomerBankAccounts As New CustomerBankAccounts(_uow)
|
|
With _CustomerBankAccounts
|
|
.AccountNumber = _XmlNode_Bank.SelectSingleNode("bankszamlaszam").InnerText
|
|
.Customers = _Customers
|
|
.ShortName = "Bank-" & _Customers.CustomerNumber
|
|
End With
|
|
.CustomerBankAccounts.Add(_CustomerBankAccounts)
|
|
Next
|
|
End If
|
|
Next
|
|
End With
|
|
End If
|
|
'SaveAuditTrail(_uow)
|
|
_uow.CommitChanges()
|
|
|
|
If _Session.IsConnected Then
|
|
_Session.Disconnect()
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
WriteErrorLog(Now + " : " + ex.Message, _errorLogFile)
|
|
End Try
|
|
End Sub
|
|
End Module
|