50 lines
2.0 KiB
VB.net
50 lines
2.0 KiB
VB.net
Imports DigitalData.Modules.Logging
|
|
Imports ImporterForm.Positions
|
|
Imports ImporterShared.Winline
|
|
Imports ImporterShared.Schemas
|
|
|
|
Public Class PositionData
|
|
Inherits ImporterShared.BaseClass
|
|
|
|
Private Winline As Data
|
|
|
|
Public Sub New(pLogConfig As LogConfig, pWinline As Data)
|
|
MyBase.New(pLogConfig, pLogConfig.GetLogger())
|
|
Winline = pWinline
|
|
End Sub
|
|
|
|
Public Function Load(pMandator As Mandator, pData As Orders.Input.MESOWebService, pDataOriginal As Orders.Input.MESOWebService) As List(Of Position)
|
|
Dim oPositions = Orders.Helpers.GetOrderPositions(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT026)(pData)
|
|
Dim oPositionsOriginal = Orders.Helpers.GetOrderPositions(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT026)(pDataOriginal)
|
|
Dim oPositionList As New List(Of Position)
|
|
|
|
For Each oPosition In oPositions
|
|
Dim oPositionOriginal = oPositionsOriginal.
|
|
Where(Function(p) p.Zeilennummer = oPosition.Zeilennummer).
|
|
SingleOrDefault()
|
|
|
|
Dim oReplacementNumber As String = Winline.GetReplacementArticleNumber(oPosition.Artikelnummer, pMandator)
|
|
|
|
' If ArticleNumber is the same as the replacement Number, this Article does not have a replacement Number
|
|
If oReplacementNumber = oPosition.Artikelnummer Then
|
|
oReplacementNumber = Nothing
|
|
End If
|
|
|
|
oPositionList.Add(New Position With {
|
|
.ArticleNumber = oPosition.Artikelnummer,
|
|
.RowNumber = oPosition.Zeilennummer,
|
|
.ArticleDescription = oPosition.Bezeichnung,
|
|
.ArticleNumberVendor = oPosition.Lieferantenartikelnummer,
|
|
.EDIPrice = oPosition.Einzelpreis,
|
|
.WinLinePrice = 0,
|
|
.Price = 0,
|
|
.Amount = oPosition.Menge_bestellt,
|
|
.EuropeanArticleNumber = oPositionOriginal.Artikelnummer,
|
|
.ReplacementArticleNumber = oReplacementNumber
|
|
})
|
|
Next
|
|
|
|
Return oPositionList
|
|
End Function
|
|
End Class
|