WIP
This commit is contained in:
14
EDIDocumentImport/Positions/Position.vb
Normal file
14
EDIDocumentImport/Positions/Position.vb
Normal file
@@ -0,0 +1,14 @@
|
||||
Namespace Positions
|
||||
Public Class Position
|
||||
Public Property RowNumber As Integer
|
||||
Public Property EuropeanArticleNumber As String
|
||||
Public Property ArticleNumber As String
|
||||
Public Property ArticleNumberVendor As String
|
||||
Public Property ArticleDescription As String
|
||||
Public Property EDIPrice As Double
|
||||
Public Property WinLinePrice As Double
|
||||
Public Property Price As Double
|
||||
Public Property Amount As Double
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
70
EDIDocumentImport/Positions/PositionColumns.vb
Normal file
70
EDIDocumentImport/Positions/PositionColumns.vb
Normal file
@@ -0,0 +1,70 @@
|
||||
Imports DevExpress.XtraGrid.Columns
|
||||
|
||||
Namespace Positions
|
||||
Public Class PositionColumns
|
||||
Public Shared Property ColumnRowNumber As New GridColumn With {
|
||||
.FieldName = "RowNumber",
|
||||
.Caption = "Nr.",
|
||||
.VisibleIndex = 0,
|
||||
.MaxWidth = 30
|
||||
}
|
||||
Public Shared Property ColumnArticleNumber As New GridColumn With {
|
||||
.FieldName = "ArticleNumber",
|
||||
.Caption = "Artikelnummer",
|
||||
.VisibleIndex = 1
|
||||
}
|
||||
Public Shared Property ColumnEuropeanArticleNumber As New GridColumn With {
|
||||
.FieldName = "EuropeanArticleNumber",
|
||||
.Caption = "EAN",
|
||||
.VisibleIndex = 2
|
||||
}
|
||||
Public Shared Property ColumnArticleNumberVendor As New GridColumn With {
|
||||
.FieldName = "ArticleNumberVendor",
|
||||
.Caption = "Artikel Lieferant",
|
||||
.VisibleIndex = 3
|
||||
}
|
||||
Public Shared Property ColumnArticleDescription As New GridColumn With {
|
||||
.FieldName = "ArticleDescription",
|
||||
.Caption = "Artikel Beschreibung",
|
||||
.VisibleIndex = 4
|
||||
}
|
||||
Public Shared Property ColumnAmount As New GridColumn With {
|
||||
.FieldName = "Amount",
|
||||
.Caption = "Menge",
|
||||
.VisibleIndex = 5
|
||||
}
|
||||
Public Shared Property ColumnEDIPrice As New GridColumn With {
|
||||
.FieldName = "EDIPrice",
|
||||
.Caption = "Einzelpreis EDI",
|
||||
.VisibleIndex = 6
|
||||
}
|
||||
Public Shared Property ColumnWinLinePrice As New GridColumn With {
|
||||
.FieldName = "WinLinePrice",
|
||||
.Caption = "Einzelpreis WinLine",
|
||||
.VisibleIndex = 7
|
||||
}
|
||||
Public Shared Property ColumnPrice As New GridColumn With {
|
||||
.FieldName = "Price",
|
||||
.Caption = "Einzelpreis",
|
||||
.VisibleIndex = 8
|
||||
}
|
||||
|
||||
''' <summary>
|
||||
''' Columns that can be changed in the positions grid
|
||||
''' </summary>
|
||||
Public Shared Property WritableColumns As New List(Of GridColumn) From {
|
||||
ColumnPrice
|
||||
}
|
||||
|
||||
Public Shared Property AllColumns As New List(Of GridColumn) From {
|
||||
ColumnRowNumber,
|
||||
ColumnArticleNumber,
|
||||
ColumnArticleNumberVendor,
|
||||
ColumnEuropeanArticleNumber,
|
||||
ColumnArticleDescription,
|
||||
ColumnEDIPrice,
|
||||
ColumnWinLinePrice,
|
||||
ColumnPrice
|
||||
}
|
||||
End Class
|
||||
End Namespace
|
||||
30
EDIDocumentImport/Positions/PositionData.vb
Normal file
30
EDIDocumentImport/Positions/PositionData.vb
Normal file
@@ -0,0 +1,30 @@
|
||||
Imports ImporterForm.Positions
|
||||
Imports ImporterShared.Schemas
|
||||
|
||||
Public Class PositionData
|
||||
Public Shared Function Load(pData As Orders.Input.MESOWebService, pDataOriginal As Orders.Input.MESOWebService) As List(Of Position)
|
||||
Dim oPositions = Orders.Helpers.GetOrderPositions(pData)
|
||||
Dim oPositionsOriginal = Orders.Helpers.GetOrderPositions(pDataOriginal)
|
||||
Dim oPositionList As New List(Of Position)
|
||||
|
||||
For Each oPosition In oPositions
|
||||
Dim oPositionOriginal = oPositionsOriginal.
|
||||
Where(Function(p) p.Zeilennummer = oPosition.Zeilennummer).
|
||||
SingleOrDefault()
|
||||
|
||||
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
|
||||
})
|
||||
Next
|
||||
|
||||
Return oPositionList
|
||||
End Function
|
||||
End Class
|
||||
45
EDIDocumentImport/Positions/PositionGrid.vb
Normal file
45
EDIDocumentImport/Positions/PositionGrid.vb
Normal file
@@ -0,0 +1,45 @@
|
||||
Imports DevExpress.XtraGrid.Columns
|
||||
Imports DevExpress.XtraGrid.Views.Grid
|
||||
Imports ImporterShared.Documents
|
||||
Imports ImporterForm.Positions
|
||||
|
||||
Namespace Positions
|
||||
Public Class PositionGrid
|
||||
Public Shared Sub LoadPositionViewAndColumns(pView As GridView, pDocumentType As DocumentType)
|
||||
Dim oColumns As List(Of GridColumn)
|
||||
|
||||
' Create columns list depending on DocumentType
|
||||
Select Case pDocumentType
|
||||
Case DocumentType.Order
|
||||
oColumns = PositionColumns.AllColumns
|
||||
|
||||
Case Else
|
||||
oColumns = New List(Of GridColumn)
|
||||
End Select
|
||||
|
||||
' Reset the grid
|
||||
pView.GridControl.DataSource = Nothing
|
||||
pView.GridControl.ForceInitialize()
|
||||
|
||||
' Clear, add and adjust columns
|
||||
pView.Columns.Clear()
|
||||
pView.Columns.AddRange(oColumns.ToArray())
|
||||
pView.BestFitColumns()
|
||||
|
||||
' Set columns readonly that need it
|
||||
Dim oReadOnlyColumns = oColumns.
|
||||
Except(PositionColumns.WritableColumns).
|
||||
ToList()
|
||||
|
||||
For Each oColumn As GridColumn In pView.Columns
|
||||
If oReadOnlyColumns.Contains(oColumn) Then
|
||||
oColumn.OptionsColumn.ReadOnly = True
|
||||
oColumn.OptionsColumn.AllowEdit = False
|
||||
Else
|
||||
oColumn.Caption &= " *"
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
Reference in New Issue
Block a user