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