504 lines
21 KiB
VB.net
504 lines
21 KiB
VB.net
Imports System.IO
|
|
Imports DevExpress.XtraGrid.Views.Grid
|
|
Imports DevExpress.XtraRichEdit
|
|
Imports DevExpress.XtraEditors
|
|
Imports DigitalData.Modules.Logging
|
|
Imports DigitalData.Modules.Database
|
|
Imports DigitalData.Modules.Config
|
|
Imports DigitalData.Controls.SQLConfig
|
|
Imports DigitalData.GUIs.Common
|
|
Imports MultiTool.Shared.Documents
|
|
Imports MultiTool.Shared.Winline
|
|
Imports MultiTool.Form.Positions
|
|
|
|
Public Class frmImportMain_old
|
|
Public LogConfig As LogConfig
|
|
Public Logger As Logger
|
|
Public ConfigManager As ConfigManager(Of [Shared].Config)
|
|
Public Database As MSSQLServer
|
|
Public DocumentLoader As DocumentLoader
|
|
Public GridBuilder As GridBuilder
|
|
Public PositionData As PositionData
|
|
|
|
Public Winline As Data
|
|
Public WebService As WebService
|
|
|
|
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
Try
|
|
txtVersion.Caption = String.Format(txtVersion.Caption, Application.ProductVersion)
|
|
|
|
LogConfig = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, "Digital Data", "EDI Document Importer")
|
|
Logger = LogConfig.GetLogger()
|
|
Logger.Info("EDI Document Importer, Version [{0}]", Application.ProductVersion)
|
|
|
|
ConfigManager = New ConfigManager(Of MultiTool.Shared.Config)(LogConfig,
|
|
Application.UserAppDataPath,
|
|
Application.CommonAppDataPath,
|
|
Application.StartupPath)
|
|
|
|
' If ConnectionString does not exist, show SQL Config Form
|
|
If ConfigManager.Config.ConnectionString = String.Empty Then
|
|
Dim oForm As New frmSQLConfig(LogConfig) With {
|
|
.FormTitle = "EDI Document Importer"
|
|
}
|
|
Dim oResult = oForm.ShowDialog()
|
|
|
|
If oResult = DialogResult.OK Then
|
|
ConfigManager.Config.ConnectionString = oForm.ConnectionString
|
|
ConfigManager.Save()
|
|
End If
|
|
End If
|
|
|
|
' Initialize Database
|
|
Dim oConnectionString = MSSQLServer.DecryptConnectionString(ConfigManager.Config.ConnectionString)
|
|
Database = New MSSQLServer(LogConfig, oConnectionString)
|
|
Winline = New Data(LogConfig, Database, ConfigManager.Config)
|
|
WebService = New WebService(LogConfig, ConfigManager.Config)
|
|
PositionData = New PositionData(LogConfig, Winline)
|
|
|
|
' Load WinLine Data
|
|
Winline.Mandators.Clear()
|
|
Winline.LoadMandators()
|
|
Winline.LoadEconomicYears()
|
|
Winline.LoadDocumentKinds(Winline.Mandators)
|
|
For Each oMandator In Winline.Mandators
|
|
Winline.LoadAccounts(oMandator)
|
|
Next
|
|
|
|
' Load data for UI Fields
|
|
cmbMandator.Properties.DataSource = Winline.Mandators
|
|
|
|
|
|
cmbYear.Properties.Items.AddRange(Winline.Years)
|
|
cmbYear.SelectedItem = ConfigManager.Config.GetYear()
|
|
|
|
' Initialize Grids
|
|
GridBuilder = New GridBuilder(New List(Of GridView) From {GridViewFiles, GridViewPositions})
|
|
GridBuilder.WithDefaults()
|
|
PositionGrid.LoadPositionViewAndColumns(GridViewPositions, DocumentType.Order)
|
|
|
|
' Construct classes related to the xml data
|
|
DocumentLoader = New DocumentLoader(LogConfig, Winline)
|
|
|
|
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Dim oMessage = GetErrorMessage(ex, "Fehler beim Laden der Anwendung")
|
|
MsgBox(oMessage, MsgBoxStyle.Critical, Text)
|
|
End Try
|
|
End Sub
|
|
|
|
#Region "Helpers"
|
|
Private Function GetValidationMessage(FieldName As String) As String
|
|
Return $"Das Feld '{FieldName}' muss ausgefüllt werden!"
|
|
End Function
|
|
|
|
Private Function GetErrorMessage(pException As Exception, pErrorText As String)
|
|
Return $"{pErrorText}:{vbNewLine}{vbNewLine}{pException.Message}"
|
|
End Function
|
|
|
|
Private Function GetFocusedDocument() As Document
|
|
Dim oRowHandles = GridViewFiles.GetSelectedRows().ToList()
|
|
Dim oDocument As Document = GridViewFiles.GetRow(oRowHandles.First())
|
|
Return oDocument
|
|
End Function
|
|
|
|
Private Function GetFocusedPosition() As Position
|
|
Dim oRowHandles = GridViewPositions.GetSelectedRows().ToList()
|
|
Dim oPosition As Position = GridViewPositions.GetRow(oRowHandles.First())
|
|
Return oPosition
|
|
End Function
|
|
|
|
Private Sub TryOpenDirectory(pPath As String, pDisplayName As String)
|
|
If Directory.Exists(pPath) Then
|
|
Process.Start(pPath)
|
|
Else
|
|
MsgBox($"{pDisplayName} nicht konfiguriert oder nicht gefunden!", MsgBoxStyle.Exclamation, Text)
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
Private Sub btnLoadDocuments_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnLoadDocuments.ItemClick
|
|
Try
|
|
If DocumentLoader.LoadFiles(ConfigManager.Config.InputDirectory, Nothing, Nothing) = True Then
|
|
|
|
RibbonGroupDataTransmission.Enabled = True
|
|
RibbonGroupDocument.Enabled = True
|
|
RibbonGroupPositions.Enabled = True
|
|
|
|
LayoutControlHead.Enabled = True
|
|
GridControlPositions.Enabled = True
|
|
|
|
btnReloadDocument.Enabled = True
|
|
|
|
GridControlFiles.DataSource = DocumentLoader.Files
|
|
txtFilesLoaded.Caption = $"{DocumentLoader.Files.Count} Dokumente geladen"
|
|
End If
|
|
Catch ex As Exception
|
|
Dim oMessage = ex.Message
|
|
|
|
If ex.InnerException IsNot Nothing Then
|
|
oMessage &= vbNewLine & vbNewLine & ex.InnerException.Message
|
|
End If
|
|
|
|
MsgBox(oMessage, MsgBoxStyle.Critical, Text)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub GridViewFiles_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewFiles.FocusedRowChanged
|
|
Dim oDocument As Document = GridViewFiles.GetRow(e.FocusedRowHandle)
|
|
|
|
If oDocument Is Nothing Then
|
|
Exit Sub
|
|
End If
|
|
|
|
ShowDocument(oDocument)
|
|
End Sub
|
|
|
|
Private Sub ShowDocument(pDocument As Document)
|
|
' Load XML File in the sidebar
|
|
RichEditXml.LoadDocument(pDocument.FullName, DocumentFormat.PlainText)
|
|
|
|
'If pDocument.Mandator Is Nothing Then
|
|
' Dim oForm As New frmMandatorSelection() With {
|
|
' .Mandators = Winline.Mandators,
|
|
' .SelectedMandator = Nothing
|
|
' }
|
|
' Dim oResult = oForm.ShowDialog()
|
|
|
|
' If oResult <> DialogResult.OK Then
|
|
' Exit Sub
|
|
' End If
|
|
|
|
' pDocument.Mandator = oForm.SelectedMandator
|
|
'End If
|
|
|
|
Try
|
|
Select Case pDocument.Type
|
|
Case DocumentType.Order
|
|
MsgBox("TODO")
|
|
'ShowOrderDocument(pDocument)
|
|
|
|
End Select
|
|
|
|
Catch ex As Xml.XmlException
|
|
Dim oMessage = GetErrorMessage(ex, "Fehler beim Laden des Dokuments")
|
|
MsgBox(oMessage, MsgBoxStyle.Critical, Text)
|
|
Logger.Error(ex)
|
|
|
|
Catch ex As Exceptions.NoMandatorException
|
|
Dim oMessage = GetErrorMessage(ex, "Fehler beim Laden des Dokuments")
|
|
MsgBox(oMessage, MsgBoxStyle.Critical, Text)
|
|
Logger.Error(ex)
|
|
|
|
Catch ex As Exception
|
|
Dim oMessage = GetErrorMessage(ex, "Fehler beim Laden des Dokuments")
|
|
MsgBox(oMessage, MsgBoxStyle.Critical, Text)
|
|
Logger.Error(ex)
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
'Private Sub ShowOrderDocument(pDocument As Document)
|
|
' If pDocument.Mandator Is Nothing Then
|
|
' Throw New Exceptions.NoMandatorException("Es konnte kein Mandant gefunden werden")
|
|
' End If
|
|
|
|
' 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(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oData)
|
|
' Dim oHeadOriginal = Orders.Helpers.GetOrderHead(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oDataOriginal)
|
|
|
|
' ' --- Head Data --------------------------------------------------------------------------------------
|
|
|
|
' ' Original, Unreplaced Data
|
|
' txtCustomerGLN.Text = oHeadOriginal.Fakt_Kontonummer
|
|
' txtDeliveryAddressGLN.Text = oHeadOriginal.Lief_Kontonummer
|
|
|
|
' ' Regular Data from EDI
|
|
' txtRunningNumber.Text = oHead.Laufnummer
|
|
' cmbOrderIssuer.Text = oHead.Bestellt_Von
|
|
' txtOrderNumber.Text = oHead.Auftragsreferenz
|
|
' txtInfoText.Text = oHead.Infotext
|
|
|
|
' Try
|
|
' dateOrderDate.EditValue = Date.ParseExact(oHead.Datum_AuftragBestellung, "yyyy-MM-dd", Globalization.CultureInfo.InvariantCulture)
|
|
' Catch ex As Exception
|
|
' dateOrderDate.EditValue = Nothing
|
|
' End Try
|
|
|
|
' ' --- Find Mandator --------------------------------------------------------------------------------------
|
|
|
|
' Dim oMandator = Winline.Mandators.
|
|
' Where(Function(m) m.Id = pDocument.Mandator).
|
|
' SingleOrDefault()
|
|
' cmbMandator.EditValue = oMandator
|
|
|
|
' ' --- Find DocumentKinds ---------------------------------------------------------------------------------
|
|
|
|
' Dim oMandatorKinds = Winline.DocumentKinds.
|
|
' Where(Function(k) k.Mandator = oMandator.Id).
|
|
' ToList()
|
|
' Dim oSelectedKind = oMandatorKinds.
|
|
' Where(Function(k) k.Id.ToString = oHead.Belegart).
|
|
' SingleOrDefault()
|
|
|
|
' cmbDocumentKind.Properties.Items.Clear()
|
|
' cmbDocumentKind.Properties.Items.AddRange(oMandatorKinds)
|
|
|
|
' If oSelectedKind Is Nothing Then
|
|
' cmbDocumentKind.ErrorText = "Es wurde keine passende Belegart gefunden."
|
|
' cmbDocumentKind.SelectedItem = Nothing
|
|
' Else
|
|
' cmbDocumentKind.SelectedItem = oSelectedKind
|
|
' End If
|
|
|
|
' ' --- Find Accounts --------------------------------------------------------------------------------------
|
|
|
|
' Dim oMandatorAccounts = Winline.Accounts.
|
|
' Where(Function(a) a.Mandator = oMandator.Id).
|
|
' ToList()
|
|
' cmbCustomer.Properties.DataSource = oMandatorAccounts
|
|
' cmbDeliveryAddress.Properties.DataSource = oMandatorAccounts
|
|
|
|
' ' FAKTURA
|
|
|
|
' If oHead.Fakt_Kontonummer = oHeadOriginal.Fakt_Kontonummer Then
|
|
' cmbCustomer.ErrorText = GetValidationMessage("Faktura Konto")
|
|
' cmbCustomer.EditValue = Nothing
|
|
' Else
|
|
' Dim oMatchingAccounts = oMandatorAccounts.
|
|
' Where(Function(oAccount) oAccount.Id = oHead.Fakt_Kontonummer)
|
|
|
|
' If oMatchingAccounts.Count() > 1 Then
|
|
' cmbCustomer.EditValue = Nothing
|
|
' cmbCustomer.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."
|
|
' Else
|
|
' cmbCustomer.EditValue = oMatchingAccounts.SingleOrDefault()
|
|
' 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
|
|
' txtPlace.EditValue = oHeadOriginal.Lief_Ort
|
|
' txtZIP.EditValue = oHeadOriginal.Lief_PLZ
|
|
' txtStreetName.EditValue = oHeadOriginal.Lief_Strasse
|
|
' txtName.EditValue = oHeadOriginal.Lief_Name
|
|
' Else
|
|
' cmbDeliveryAddress.ErrorText = GetValidationMessage("Lieferanten Konto")
|
|
' cmbDeliveryAddress.EditValue = Nothing
|
|
' End If
|
|
' Else
|
|
' Dim oMatchingAccounts = oMandatorAccounts.
|
|
' Where(Function(oAccount) oAccount.Id = oHead.Lief_Kontonummer)
|
|
|
|
' If oMatchingAccounts.Count() > 1 Then
|
|
' cmbDeliveryAddress.EditValue = Nothing
|
|
' cmbDeliveryAddress.ErrorText = "Für die Kontonummer wurden mehrere Konten gefunden."
|
|
' ElseIf oMatchingAccounts.Count() = 0 Then
|
|
' cmbDeliveryAddress.EditValue = Nothing
|
|
' cmbDeliveryAddress.ErrorText = "Für die Kontonummer wurde kein Konto gefunden."
|
|
' Else
|
|
' cmbDeliveryAddress.EditValue = oMatchingAccounts.SingleOrDefault()
|
|
' End If
|
|
' End If
|
|
|
|
' ' --- Find Positions ------------------------------------------------------------------------------------
|
|
|
|
' Dim oPositionList = PositionData.Load(oMandator, oData, oDataOriginal)
|
|
' GridControlPositions.DataSource = oPositionList
|
|
' GridViewPositions.BestFitColumns()
|
|
'End Sub
|
|
|
|
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
|
TryOpenDirectory(ConfigManager.Config.InputDirectory, "Eingangsverzeichnis")
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
|
TryOpenDirectory(ConfigManager.Config.OutputDirectory, "Ausgangsverzeichnis")
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
|
|
Dim oUserConfigDirectory = New FileInfo(ConfigManager.UserConfigPath).Directory
|
|
TryOpenDirectory(oUserConfigDirectory.FullName, "Konfigurationsverzeichnis")
|
|
End Sub
|
|
|
|
Private Sub checkShowXml_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles checkShowXml.CheckedChanged
|
|
SplitContainerControl3.Collapsed = Not checkShowXml.Checked
|
|
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)
|
|
|
|
' 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.Bestellt_Von = 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 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"
|
|
Else
|
|
sender.ErrorText = ""
|
|
End If
|
|
End Sub
|
|
'Private Sub btnPreviewReport_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnPreviewReport.ItemClick
|
|
' Dim oDocument As Document = GetFocusedDocument()
|
|
' If oDocument Is Nothing Then
|
|
' Exit Sub
|
|
' End If
|
|
|
|
' Dim oReport As New OrderReport()
|
|
' Dim oDataSource = New DevExpress.DataAccess.ObjectBinding.ObjectDataSource With {
|
|
' .DataSource = New Orders.ReportSource With {
|
|
' .Head = Orders.Helpers.GetOrderHead(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oDocument.Data),
|
|
' .Positions = Orders.Helpers.GetOrderPositions(Of Orders.Input.MESOWebServiceEXIMVRG_ordersT025)(oDocument.Data)
|
|
' }
|
|
' }
|
|
' oDataSource.Fill()
|
|
' oReport.DataSource = oDataSource
|
|
|
|
' Dim oReportPrintTool As New ReportPrintTool(oReport)
|
|
' oReportPrintTool.ShowPreview()
|
|
'End Sub
|
|
|
|
Private Sub btnReloadDocument_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnReloadDocument.ItemClick
|
|
Dim oResult = MsgBox("Wenn sie das Dokument neu laden, werden alle manuell geänderten Wert verworfen. Wollen Sie fortfahren?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question, Text)
|
|
|
|
If oResult = MsgBoxResult.Yes Then
|
|
Dim oDocument As Document = GetFocusedDocument()
|
|
|
|
If oDocument Is Nothing Then
|
|
Exit Sub
|
|
End If
|
|
|
|
ShowDocument(oDocument)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnDeletePosition_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnDeletePosition.ItemClick
|
|
Dim oPosition = GetFocusedPosition()
|
|
|
|
If oPosition Is Nothing Then
|
|
MsgBox("Bitte wählen Sie eine Position aus!", MsgBoxStyle.Exclamation, Text)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim oResult = MsgBox($"Wollen Sie die ausgewählte Position Artikel [{oPosition.ArticleNumber}] wirklich löschen?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text)
|
|
|
|
If oResult = MsgBoxResult.Yes Then
|
|
GridViewPositions.DeleteSelectedRows()
|
|
MsgBox("Position gelöscht")
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem7_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem7.ItemClick
|
|
MsgBox("Mach et!")
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem6_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
|
|
Dim oUserConfigDirectory = New FileInfo(ConfigManager.UserConfigPath).Directory
|
|
TryOpenDirectory(oUserConfigDirectory.FullName, "Konfigurationsverzeichnis")
|
|
End Sub
|
|
End Class |