From 0562d9c37da1dcfe22b7d9a56b97ce5bbe1bce75 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 1 Nov 2021 10:45:53 +0100 Subject: [PATCH] Use FormHelper to show error messages --- MultiTool.Form/FormHelpers.vb | 14 +++++++++----- MultiTool.Form/frmImportMain.vb | 32 +++++++++++--------------------- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/MultiTool.Form/FormHelpers.vb b/MultiTool.Form/FormHelpers.vb index a34c7ce..374a777 100644 --- a/MultiTool.Form/FormHelpers.vb +++ b/MultiTool.Form/FormHelpers.vb @@ -1,16 +1,20 @@ Imports DigitalData.Modules.Logging -Public Class Message - Private Logger As Logger +Public Class FormHelper + Private ReadOnly Logger As Logger Public Sub New(pLogConfig As LogConfig) Logger = pLogConfig.GetLogger() End Sub - Public Sub [Error](pException As Exception, pMessage As String) + Public Sub ShowError(pException As Exception, pFunction As String, Optional pDetails As String = "") + Dim oMessage = String.Format(My.Resources.frmShared.In_der_Funktion___0___ist_folgender_Fehler_aufgetreten___1_, pFunction, vbNewLine & vbNewLine & pException.Message) + If pDetails <> String.Empty Then + oMessage &= $"{vbNewLine}{pDetails}" + End If + Logger.Error(pException) - Dim oMessage As String = $"{pMessage}{vbNewLine}{vbNewLine}{pException.Message}" - MsgBox(oMessage, MsgBoxStyle.Critical, "Schwerwiegender Fehler") + MsgBox(oMessage, MsgBoxStyle.Critical, Application.ProductName) End Sub End Class diff --git a/MultiTool.Form/frmImportMain.vb b/MultiTool.Form/frmImportMain.vb index 05c73db..f9c2e64 100644 --- a/MultiTool.Form/frmImportMain.vb +++ b/MultiTool.Form/frmImportMain.vb @@ -25,7 +25,7 @@ Public Class frmImportMain Private WebService As WebService Private DocumentLoader As DocumentLoader Private SchemaLoader As SchemaLoader - Private Message As Message + Private FormHelper As FormHelper Private Grids As List(Of GridControl) Private GridLoader As GridLoader @@ -66,7 +66,7 @@ Public Class frmImportMain Application.StartupPath ) - Message = New Message(LogConfig) + FormHelper = New FormHelper(LogConfig) GridBuilder = New GridBuilder(GridViewFiles) GridBuilder.WithDefaults.WithClipboardHandler() @@ -93,7 +93,7 @@ Public Class frmImportMain Winline = New Data(LogConfig, Database, ConfigManager.Config) WebService = New WebService(LogConfig, ConfigManager.Config, Application.UserAppDataPath) Catch ex As Exception - ShowError(ex, My.Resources.frmImportMainExtra.Initialisieren_der_Anwendungs_Daten) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Initialisieren_der_Anwendungs_Daten) End Try txtVersion.Caption = String.Format(txtVersion.Tag.ToString, My.Application.Info.Version.ToString) @@ -140,7 +140,7 @@ Public Class frmImportMain Grids = CreateGridsAndColumns(CurrentSchema) Catch ex As Exception - ShowError(ex, My.Resources.frmImportMainExtra.Laden_der_Winline_Daten) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Laden_der_Winline_Daten) Finally SplashScreenManager.CloseWaitForm() btnLoadFiles.Enabled = True @@ -213,7 +213,7 @@ Public Class frmImportMain Where(Function(r) r.Id.ToString = oRow.Item("GUID")). SingleOrDefault() - Dim oForm As New frmRowEditor(oColumns, oDocumentRow, CurrentDocument.Mandator, Winline) + Dim oForm As New frmRowEditor(LogConfig, oColumns, oDocumentRow, CurrentDocument.Mandator, Winline) If oForm.ShowDialog() = DialogResult.OK Then Dim oModifiedRow = oForm.DocumentRow Dim oIndex = CurrentDocument.Rows.IndexOf(oModifiedRow) @@ -222,7 +222,7 @@ Public Class frmImportMain LoadDocument(CurrentDocument) End If Catch ex As Exception - ShowError(ex, My.Resources.frmImportMainExtra.Laden_der_Detailzeilen) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Laden_der_Detailzeilen) End Try End Sub @@ -241,7 +241,7 @@ Public Class frmImportMain MsgBox(My.Resources.frmImportMainExtra.Es_konnte_kein_passender_Mandant_ermittelt_werden, MsgBoxStyle.Information, Text) Catch ex As Exception - ShowError(ex, My.Resources.frmImportMainExtra.Laden_der_Detailzeilen) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Laden_der_Detailzeilen) Finally SplitContainerGrids.Enabled = True @@ -273,7 +273,7 @@ Public Class frmImportMain MsgBox(My.Resources.frmImportMainExtra.Es_konnte_kein_passender_Mandant_ermittelt_werden, MsgBoxStyle.Information, Text) Catch ex As Exception - ShowError(ex, My.Resources.frmImportMainExtra.Neuladen_des_Dokuments) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Neuladen_des_Dokuments) End Try End Sub @@ -289,7 +289,7 @@ Public Class frmImportMain lookupMandator.EditValue = oDocument.Mandator LoadDocument(oDocument) Catch ex As Exception - ShowError(ex, My.Resources.frmImportMainExtra.Laden_des_Dokuments) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Laden_des_Dokuments) End Try End Sub @@ -363,10 +363,10 @@ Public Class frmImportMain MsgBox(My.Resources.frmImportMainExtra.Datei_erfolgreich_in_die_WinLine_übertragen, MsgBoxStyle.Information, Text) Catch ex As HttpRequestException - ShowError(ex, My.Resources.frmImportMainExtra.Übertragung_zur_WinLine, My.Resources.frmImportMainExtra.Die_Verbindung_zum_WinLine_Server_ist_fehlgeschlagen) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Übertragung_zur_WinLine, My.Resources.frmImportMainExtra.Die_Verbindung_zum_WinLine_Server_ist_fehlgeschlagen) Catch ex As Exception - ShowError(ex, My.Resources.frmImportMainExtra.Übertragung_zur_WinLine) + FormHelper.ShowError(ex, My.Resources.frmImportMainExtra.Übertragung_zur_WinLine) Finally SplitContainerGrids.Enabled = True @@ -417,16 +417,6 @@ Public Class frmImportMain TryOpenDirectory(oUserConfigDirectory.FullName, My.Resources.frmImportMainExtra.Konfigurationsverzeichnis) End Sub - Private Sub ShowError(pException As Exception, pFunction As String, Optional pDetails As String = "") - Dim oMessage = String.Format(My.Resources.frmImportMainExtra.In_der_Funktion___0___ist_folgender_Fehler_aufgetreten__1_, pFunction, vbNewLine & vbNewLine & pException.Message) - If pDetails <> String.Empty Then - oMessage &= $"{vbNewLine}{pDetails}" - End If - - Logger.Error(pException) - MsgBox(oMessage, MsgBoxStyle.Critical, Text) - End Sub - Private Sub btnShowXml_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnShowXml.ItemClick Dim oForm As New frmXmlEditor With {.FileName = CurrentDocument.FullName} oForm.Show()