First Testable Version
This commit is contained in:
@@ -74,8 +74,8 @@ Public Class frmMain
|
||||
cmbMandator.Properties.DataSource = Winline.Mandators
|
||||
|
||||
|
||||
cmbYears.Properties.Items.AddRange(Winline.Years)
|
||||
cmbYears.SelectedItem = ConfigManager.Config.GetYear()
|
||||
cmbYear.Properties.Items.AddRange(Winline.Years)
|
||||
cmbYear.SelectedItem = ConfigManager.Config.GetYear()
|
||||
|
||||
' Initialize Grids
|
||||
GridBuilder = New GridBuilder(New List(Of GridView) From {GridViewFiles, GridViewPositions})
|
||||
@@ -127,7 +127,7 @@ Public Class frmMain
|
||||
Try
|
||||
If DocumentLoader.LoadFiles(ConfigManager.Config.InputDirectory) = True Then
|
||||
|
||||
RibbonGroupData.Enabled = True
|
||||
RibbonGroupDataTransmission.Enabled = True
|
||||
RibbonGroupDocument.Enabled = True
|
||||
RibbonGroupPositions.Enabled = True
|
||||
|
||||
@@ -210,8 +210,8 @@ Public Class frmMain
|
||||
|
||||
Dim oData As Orders.Input.MESOWebService = DirectCast(pDocument.Data, Orders.Input.MESOWebService)
|
||||
Dim oDataOriginal As Orders.Input.MESOWebService = DirectCast(pDocument.DataOriginal, Orders.Input.MESOWebService)
|
||||
Dim oHead = Orders.Helpers.GetOrderHead(oData)
|
||||
Dim oHeadOriginal = Orders.Helpers.GetOrderHead(oDataOriginal)
|
||||
Dim oHead = Orders.Helpers.GetOrderHead(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oData)
|
||||
Dim oHeadOriginal = Orders.Helpers.GetOrderHead(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oDataOriginal)
|
||||
|
||||
' --- Head Data --------------------------------------------------------------------------------------
|
||||
|
||||
@@ -221,10 +221,9 @@ Public Class frmMain
|
||||
|
||||
' Regular Data from EDI
|
||||
txtRunningNumber.Text = oHead.Laufnummer
|
||||
txtOrderIssuer.Text = oHead.Fakt_Ansprechpartner
|
||||
txtOrderNumber.Text = oHead.AuftragsBestellnummer
|
||||
|
||||
txtDocumentReference.Text = oHead.Auftragsreferenz
|
||||
cmbOrderIssuer.Text = oHead.Fakt_Ansprechpartner
|
||||
txtOrderNumber.Text = oHead.Auftragsreferenz
|
||||
txtInfoText.Text = oHead.Infotext
|
||||
dateOrderDate.EditValue = oHead.Datum_AuftragBestellung
|
||||
|
||||
' --- Find Mandator --------------------------------------------------------------------------------------
|
||||
@@ -245,7 +244,13 @@ Public Class frmMain
|
||||
|
||||
cmbDocumentKind.Properties.Items.Clear()
|
||||
cmbDocumentKind.Properties.Items.AddRange(oMandatorKinds)
|
||||
cmbDocumentKind.SelectedItem = oSelectedKind
|
||||
|
||||
If oSelectedKind Is Nothing Then
|
||||
cmbDocumentKind.ErrorText = "Es wurde keine passende Belegart gefunden."
|
||||
cmbDocumentKind.SelectedItem = Nothing
|
||||
Else
|
||||
cmbDocumentKind.SelectedItem = oSelectedKind
|
||||
End If
|
||||
|
||||
' --- Find Accounts --------------------------------------------------------------------------------------
|
||||
|
||||
@@ -275,6 +280,13 @@ Public Class frmMain
|
||||
End If
|
||||
End If
|
||||
|
||||
' CONTACTS
|
||||
If cmbCustomer.EditValue IsNot Nothing Then
|
||||
Dim oContacts = Winline.GetContacts(oHead.Fakt_Kontonummer, oMandator)
|
||||
cmbOrderIssuer.Properties.DataSource = oContacts
|
||||
End If
|
||||
|
||||
|
||||
' DEVLIERY
|
||||
If oHead.Lief_Kontonummer = oHeadOriginal.Lief_Kontonummer Then
|
||||
If oHeadOriginal.Lief_Kontonummer = String.Empty Then
|
||||
@@ -291,15 +303,14 @@ Public Class frmMain
|
||||
Where(Function(oAccount) oAccount.Id = oHead.Lief_Kontonummer)
|
||||
|
||||
If oMatchingAccounts.Count() > 1 Then
|
||||
cmbCustomer.EditValue = Nothing
|
||||
cmbCustomer.ErrorText = "Für die Kontonummer wurden mehrere Konten gefunden."
|
||||
cmbDeliveryAddress.EditValue = Nothing
|
||||
cmbDeliveryAddress.ErrorText = "Für die Kontonummer wurden mehrere Konten gefunden."
|
||||
ElseIf oMatchingAccounts.Count() = 0 Then
|
||||
cmbCustomer.EditValue = Nothing
|
||||
cmbCustomer.ErrorText = "Für die Kontonummer wurde kein Konto gefunden."
|
||||
cmbDeliveryAddress.EditValue = Nothing
|
||||
cmbDeliveryAddress.ErrorText = "Für die Kontonummer wurde kein Konto gefunden."
|
||||
Else
|
||||
cmbCustomer.EditValue = oMatchingAccounts.SingleOrDefault()
|
||||
cmbDeliveryAddress.EditValue = oMatchingAccounts.SingleOrDefault()
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
' --- Find Positions ------------------------------------------------------------------------------------
|
||||
@@ -329,32 +340,106 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Async Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
|
||||
Dim oMessageText As String = ""
|
||||
Dim oMessageStyle As MsgBoxStyle = MsgBoxStyle.Critical
|
||||
|
||||
Dim oDocument As Document = GetFocusedDocument()
|
||||
If oDocument Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
SplashScreenManager1.ShowWaitForm()
|
||||
ChangeUIState(False)
|
||||
|
||||
Try
|
||||
Dim oFinalDocument As Document = TransferChangesToDocument(oDocument)
|
||||
Dim oResult = Await WebService.TransferDocumentToWinLine(oFinalDocument)
|
||||
|
||||
oMessageText = "Beleg wurde erfolgreich übertragen!"
|
||||
oMessageStyle = MsgBoxStyle.Information
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Dim oMessage = $"Fehler beim Übertragen des Dokuments:{vbNewLine}{vbNewLine}{ex.Message}"
|
||||
MsgBox(oMessage, MsgBoxStyle.Critical, Text)
|
||||
|
||||
oMessageText = $"Fehler beim Übertragen des Dokuments:{vbNewLine}{vbNewLine}{ex.Message}"
|
||||
oMessageStyle = MsgBoxStyle.Critical
|
||||
|
||||
Finally
|
||||
SplashScreenManager1.CloseWaitForm()
|
||||
ChangeUIState(True)
|
||||
|
||||
MsgBox(oMessageText, oMessageStyle, Text)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub ChangeUIState(pEnabled As Boolean)
|
||||
GridControlPositions.Enabled = pEnabled
|
||||
GridControlFiles.Enabled = pEnabled
|
||||
LayoutControlHead.Enabled = pEnabled
|
||||
|
||||
RibbonGroupDataTransmission.Enabled = pEnabled
|
||||
RibbonGroupDataLoading.Enabled = pEnabled
|
||||
RibbonGroupDocument.Enabled = pEnabled
|
||||
RibbonGroupPositions.Enabled = pEnabled
|
||||
End Sub
|
||||
|
||||
Private Function TransferChangesToDocument(pDocument As Document)
|
||||
Dim oData As Orders.Input.MESOWebService = pDocument.Data
|
||||
|
||||
Try
|
||||
Orders.Helpers.SetOrderHead(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oData, AddressOf UpdateOrderHead)
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
|
||||
Throw ex
|
||||
End Try
|
||||
|
||||
Return pDocument
|
||||
End Function
|
||||
|
||||
Private Function UpdateOrderHead(pObject As Orders.Input.MESOWebServiceEXIMVRG_ordersT025) As Orders.Input.MESOWebServiceEXIMVRG_ordersT025
|
||||
' Update DocumentKind
|
||||
If cmbDocumentKind.EditValue IsNot Nothing AndAlso TypeOf cmbDocumentKind.EditValue Is DocumentKind Then
|
||||
pObject.Belegart = DirectCast(cmbDocumentKind.EditValue, DocumentKind).Id
|
||||
End If
|
||||
|
||||
' Update Talking Person lol
|
||||
If cmbOrderIssuer.EditValue IsNot Nothing AndAlso TypeOf cmbOrderIssuer.EditValue Is Contact Then
|
||||
pObject.Fakt_Ansprechpartner = DirectCast(cmbOrderIssuer.EditValue, Contact).Id
|
||||
End If
|
||||
|
||||
' Update Delivery Address
|
||||
If cmbDeliveryAddress.EditValue IsNot Nothing AndAlso TypeOf cmbDeliveryAddress.EditValue Is Account Then
|
||||
pObject.Lief_Kontonummer = DirectCast(cmbDeliveryAddress.EditValue, Account)?.Id
|
||||
End If
|
||||
|
||||
' Update Order Number
|
||||
If txtOrderNumber.EditValue IsNot Nothing AndAlso txtOrderNumber.EditValue <> String.Empty Then
|
||||
pObject.Auftragsreferenz = txtOrderNumber.EditValue
|
||||
|
||||
End If
|
||||
|
||||
' Update Order Date
|
||||
If dateOrderDate IsNot Nothing Then
|
||||
pObject.Datum_AuftragBestellung = DirectCast(dateOrderDate.EditValue, Date).ToString("yyyy-MM-dd")
|
||||
End If
|
||||
|
||||
' Update Extra Address
|
||||
pObject.Lief_Name = txtName.EditValue
|
||||
pObject.Lief_Ort = txtPlace.EditValue
|
||||
pObject.Lief_PLZ = txtZIP.EditValue
|
||||
pObject.Lief_Strasse = txtStreetName.EditValue
|
||||
|
||||
Return pObject
|
||||
End Function
|
||||
|
||||
Private Sub BarButtonItem8_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem8.ItemClick
|
||||
TryOpenDirectory(LogConfig.LogDirectory, "Logverzeichnis")
|
||||
End Sub
|
||||
|
||||
Private Sub cmbAccount_Validating(sender As BaseEdit, e As System.ComponentModel.CancelEventArgs) Handles cmbCustomer.Validating, cmbDeliveryAddress.Validating
|
||||
Private Sub cmbCustomer_Validating(sender As BaseEdit, e As System.ComponentModel.CancelEventArgs) Handles cmbCustomer.Validating, cmbDocumentKind.Validating, cmbMandator.Validating, cmbYear.Validating
|
||||
If sender.EditValue Is Nothing Then
|
||||
sender.ErrorText = "Dieses Feld muss ausgefüllt werden!"
|
||||
sender.ErrorText = "Dieses Feld muss ausgefüllt werden"
|
||||
Else
|
||||
sender.ErrorText = ""
|
||||
End If
|
||||
@@ -368,8 +453,8 @@ Public Class frmMain
|
||||
Dim oReport As New OrderReport()
|
||||
Dim oDataSource = New DevExpress.DataAccess.ObjectBinding.ObjectDataSource With {
|
||||
.DataSource = New Orders.ReportSource With {
|
||||
.Head = Orders.Helpers.GetOrderHead(oDocument.Data),
|
||||
.Positions = Orders.Helpers.GetOrderPositions(oDocument.Data)
|
||||
.Head = Orders.Helpers.GetOrderHead(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oDocument.Data),
|
||||
.Positions = Orders.Helpers.GetOrderPositions(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oDocument.Data)
|
||||
}
|
||||
}
|
||||
oDataSource.Fill()
|
||||
|
||||
Reference in New Issue
Block a user