diff --git a/GUIs.Common/FormHelper.vb b/GUIs.Common/FormHelper.vb index 2dcbcdd7..0e746b22 100644 --- a/GUIs.Common/FormHelper.vb +++ b/GUIs.Common/FormHelper.vb @@ -6,19 +6,27 @@ Public Class FormHelper Private ReadOnly Logger As Logger Private ReadOnly Form As Form + Public Class MessageOptions + Public Property ShowCancel As Boolean = False + End Class + 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 + Public Function ShowInfoMessage(pMessage As String, pTitle As String, Optional pOptions As MessageOptions = Nothing) As DialogResult Logger.Info(pMessage) - - Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Info) + Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Info, pOptions) End Function - Public Function ShowErrorMessage(pException As Exception, pTitle As String) As DialogResult + Public Function ShowErrorMessage(pMessage As String, pTitle As String, Optional pOptions As MessageOptions = Nothing) As DialogResult + Logger.Error(pMessage) + Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Error, pOptions) + End Function + + Public Function ShowErrorMessage(pException As Exception, pTitle As String, Optional pOptions As MessageOptions = Nothing) As DialogResult Logger.Error(pException) Dim oMethodName = GetMethodName() @@ -31,28 +39,31 @@ Public Class FormHelper oMessage &= vbNewLine & pException.StackTrace End If - Return ShowMessage(oMessage, pTitle, frmDialog.DialogType.Error) + Return ShowMessage(oMessage, pTitle, frmDialog.DialogType.Error, pOptions) End Function - Public Function ShowWarningMessage(pMessage As String, pTitle As String) As DialogResult + Public Function ShowWarningMessage(pMessage As String, pTitle As String, Optional pOptions As MessageOptions = Nothing) As DialogResult + Logger.Warn(pTitle & " - " & pMessage) + Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Warning, pOptions) + End Function + + Public Function ShowQuestionMessage(pMessage As String, pTitle As String, Optional pOptions As MessageOptions = Nothing) As DialogResult Logger.Info(pTitle & " - " & pMessage) - Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Warning) + Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Question, pOptions) End Function - Public Function ShowQuestionMessage(pMessage As String, pTitle As String) As DialogResult + Public Function ShowSuccessMessage(pMessage As String, pTitle As String, Optional pOptions As MessageOptions = Nothing) As DialogResult Logger.Info(pTitle & " - " & pMessage) - Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Question) + Return ShowMessage(pMessage, pTitle, frmDialog.DialogType.Success, pOptions) 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, pOptions As MessageOptions) As DialogResult + Dim oOptions As MessageOptions = IIf(pOptions Is Nothing, New MessageOptions, pOptions) + Dim oForm As New frmDialog(pMessage, pTitle, pType, oOptions.ShowCancel) - 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