65 lines
2.4 KiB
VB.net
65 lines
2.4 KiB
VB.net
Imports DigitalData.Modules.Logging
|
|
Imports System.Windows.Forms
|
|
|
|
Public Class FormHelper
|
|
Private ReadOnly LogConfig As LogConfig
|
|
Private ReadOnly Logger As Logger
|
|
Private ReadOnly Form As Form
|
|
|
|
Public Sub New(pLogConfig As LogConfig, pForm As Form)
|
|
LogConfig = pLogConfig
|
|
Logger = pLogConfig.GetLogger()
|
|
Form = pForm
|
|
End Sub
|
|
|
|
Public Function ShowInfoMessage(pMessage As String, pTitle As String) As DialogResult
|
|
Logger.Info(pMessage)
|
|
|
|
Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Info)
|
|
End Function
|
|
|
|
Public Function ShowErrorMessage(pException As Exception, pTitle As String) As DialogResult
|
|
Logger.Error(pException)
|
|
|
|
Dim oMethodName = GetMethodName()
|
|
Dim oBaseMessage = "In der Funktion '{0}' ist folgender Fehler aufgetreten: {1}"
|
|
Dim oMessage = String.Format(oBaseMessage, oMethodName, vbNewLine & vbNewLine & pException.Message)
|
|
|
|
If LogConfig.Debug Then
|
|
oMessage &= vbNewLine & vbNewLine & "=== Debug Information ==="
|
|
oMessage &= vbNewLine & vbNewLine & "Stacktrace:"
|
|
oMessage &= vbNewLine & pException.StackTrace
|
|
End If
|
|
|
|
Return ShowMessage(oMessage, pTitle, frmDialog.DialogType.Error)
|
|
End Function
|
|
|
|
Public Function ShowWarningMessage(pMessage As String, pTitle As String) As DialogResult
|
|
Logger.Info(pTitle & " - " & pMessage)
|
|
Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Warning)
|
|
End Function
|
|
|
|
Public Function ShowQuestionMessage(pMessage As String, pTitle As String) As DialogResult
|
|
Logger.Info(pTitle & " - " & pMessage)
|
|
Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Question)
|
|
End Function
|
|
|
|
Public Function ShowSuccessMessage(pMessage As String, pTitle As String) As DialogResult
|
|
Logger.Info(pTitle & " - " & pMessage)
|
|
Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Success)
|
|
End Function
|
|
|
|
Private Function ShowMessage(pMessage As String, pTitle As String, pType As frmDialog.DialogType) As DialogResult
|
|
Dim oForm As New frmDialog(pMessage, pTitle, pType)
|
|
oForm.BringToFront()
|
|
oForm.TopMost = True
|
|
Return oForm.ShowDialog()
|
|
End Function
|
|
|
|
Private Function GetMethodName() As String
|
|
Dim oStackTrace As New StackTrace()
|
|
Dim oMethodName As String = oStackTrace.GetFrame(2).GetMethod.Name
|
|
Return oMethodName
|
|
End Function
|
|
End Class
|