Common: Clean up frmNotification_Startup

This commit is contained in:
Jonathan Jenne
2022-10-26 14:57:01 +02:00
parent f24354addf
commit 3bf14be3b8
12 changed files with 420 additions and 348 deletions

View File

@@ -5,21 +5,30 @@ Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow.Constants
Public Class frmNotification_Startup
Private ReadOnly Property LogConfig As LogConfig
Private ReadOnly Property Logger As Logger
Private ReadOnly _NotificationsTable As DataTable
Private ReadOnly _Environment As DigitalData.Modules.ZooFlow.Environment
Private ReadOnly _GDPictureKey As String
Private ReadOnly _FormCaption As String
Private NOTIFY_ID As Integer
Private ReadOnly FormHelper As FormHelper
Private CurrentNotificationId As Integer
Private Property OperationMode As OperationMode
Private Client As Client
Private Const COL_GUID As String = "GUID"
Private Const COL_TITLE As String = "TITLE"
Private Const TYPE_MESSAGE = "MESSAGE"
Private Const TYPE_FILE = "FILE"
Friend Class NotificationItem
Public Id As Integer
Public Title As String
@@ -29,28 +38,25 @@ Public Class frmNotification_Startup
Return Title
End Function
End Class
Public Sub New(DTNotifications As DataTable, pLogConfig As LogConfig, pGDPictureKey As String, pCaption As String, pEnvironment As DigitalData.Modules.ZooFlow.Environment)
_NotificationsTable = DTNotifications
Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
End Sub
Public Sub New(pNotificationsTable As DataTable, pLogConfig As LogConfig, pGDPictureKey As String, pCaption As String, pEnvironment As DigitalData.Modules.ZooFlow.Environment)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
LogConfig = pLogConfig
Logger = pLogConfig.GetLogger()
FormHelper = New FormHelper(pLogConfig, Me)
_NotificationsTable = pNotificationsTable
_GDPictureKey = pGDPictureKey
_FormCaption = pCaption
_Environment = pEnvironment
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Try
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
Dim cultureInfo As System.Globalization.CultureInfo
cultureInfo = New System.Globalization.CultureInfo(_Environment.User.Language)
cultureInfo.DateTimeFormat.ShortDatePattern = _Environment.User.DateFormat
Thread.CurrentThread.CurrentCulture = cultureInfo
Thread.CurrentThread.CurrentUICulture = cultureInfo
Catch ex As Exception
End Try
End Sub
Private Sub frmNotification_Startup_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -61,60 +67,80 @@ Public Class frmNotification_Startup
Me.Text = _FormCaption
If _NotificationsTable.Rows.Count = 1 Then
Me.ListBoxControl1.Visible = False
Load_Profile(_NotificationsTable.Rows(0).Item("GUID"))
Load_Profile(_NotificationsTable.Rows(0).Item(COL_GUID))
Else
ListBoxControl1.DataSource = _NotificationsTable
ListBoxControl1.ValueMember = "GUID"
ListBoxControl1.DisplayMember = "TITLE"
ListBoxControl1.ValueMember = COL_GUID
ListBoxControl1.DisplayMember = COL_TITLE
End If
Catch ex As Exception
Dim oMsgBox As New frmDialog(ex.Message, "Unexpected Error loading form:", frmDialog.DialogType.Error)
oMsgBox.ShowDialog()
'Dim oMsgBox As New frmDialog(ex.Message, "Unexpected Error loading form:", frmDialog.DialogType.Error)
'oMsgBox.ShowDialog()
FormHelper.ShowErrorMessage(ex.Message, "Unexpected error loading form")
End Try
End Sub
Sub Load_Profile(oIndex As Integer)
Try
DocumentViewer1.Visible = False
RichEditControl1.Visible = False
Dim oType As String, oMSG_STRING As String, oMarkasRead As Boolean
Dim oType As String, oMessage As String, oMarkasRead As Boolean
If _NotificationsTable.Rows.Count = 1 Then
Dim oRow As DataRow = _NotificationsTable.Rows(0)
oType = oRow.Item("DISPLAY_TYPE")
oMSG_STRING = oRow.Item("MSG_STRING")
oMarkasRead = oRow.Item("VALIDATE_READ")
NOTIFY_ID = oRow.Item("GUID")
Else
Dim oCount As Integer = 0
For Each oRow As DataRow In _NotificationsTable.Rows
If oIndex = oCount Then
oType = oRow.Item("DISPLAY_TYPE")
oMSG_STRING = oRow.Item("MSG_STRING")
oMarkasRead = oRow.Item("VALIDATE_READ")
NOTIFY_ID = oRow.Item("GUID")
Exit For
Else
oCount += 1
End If
Next
Dim oRow = _NotificationsTable.AsEnumerable.
Where(Function(row) row.Item(COL_GUID) = oIndex).
FirstOrDefault()
If oRow Is Nothing Then
FormHelper.ShowWarningMessage("Notification with Guid [{0}] could not be loaded!", "Unexpected error loading message")
Exit Sub
End If
If oType = "MESSAGE" Then
RichEditControl1.Text = oMSG_STRING
oType = oRow.Item("DISPLAY_TYPE")
oMessage = oRow.Item("MSG_STRING")
oMarkasRead = oRow.Item("VALIDATE_READ")
CurrentNotificationId = oRow.Item(COL_GUID)
'If _NotificationsTable.Rows.Count = 1 Then
' Dim oRow As DataRow = _NotificationsTable.Rows(0)
' oType = oRow.Item("DISPLAY_TYPE")
' oMSG_STRING = oRow.Item("MSG_STRING")
' oMarkasRead = oRow.Item("VALIDATE_READ")
' CurrentNotificationId = oRow.Item(COL_GUID)
'Else
' Dim oCount As Integer = 0
' For Each oRow As DataRow In _NotificationsTable.Rows
' If oIndex = oCount Then
' oType = oRow.Item("DISPLAY_TYPE")
' oMSG_STRING = oRow.Item("MSG_STRING")
' oMarkasRead = oRow.Item("VALIDATE_READ")
' CurrentNotificationId = oRow.Item(COL_GUID)
' Exit For
' Else
' oCount += 1
' End If
' Next
'End If
If oType = TYPE_MESSAGE Then
RichEditControl1.Text = oMessage
RichEditControl1.Visible = True
RichEditControl1.Dock = Windows.Forms.DockStyle.Fill
Else
If IO.File.Exists(oMSG_STRING) Then
DocumentViewer1.LoadFile(oMSG_STRING)
ElseIf oType = TYPE_FILE Then
If IO.File.Exists(oMessage) Then
DocumentViewer1.LoadFile(oMessage)
DocumentViewer1.Visible = True
DocumentViewer1.Dock = Windows.Forms.DockStyle.Fill
Else
Dim oMsgBox As New frmDialog("File not existing!", "Load Notification File", frmDialog.DialogType.Warning)
oMsgBox.ShowDialog()
End If
End If
If oMarkasRead = True Then
btnMarkAsRead.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
Else
@@ -122,20 +148,23 @@ Public Class frmNotification_Startup
End If
Catch ex As Exception
Dim oMsgBox As New frmDialog(ex.Message, "Unexpected Error loading Message:", frmDialog.DialogType.Error)
oMsgBox.ShowDialog()
FormHelper.ShowErrorMessage(ex.Message, "Unexpected error loading message")
End Try
End Sub
Private Sub ListBoxControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBoxControl1.SelectedValueChanged
If ListBoxControl1.SelectedIndex <> -1 Then
Try
Load_Profile(ListBoxControl1.SelectedIndex)
Catch ex As Exception
Dim oMsgBox As New frmDialog(ex.Message, "Unexpected Error switching Notifications:", frmDialog.DialogType.Error)
oMsgBox.ShowDialog()
End Try
If ListBoxControl1.SelectedItem Is Nothing Then
Exit Sub
End If
Try
Dim oRowView As DataRowView = ListBoxControl1.SelectedItem
Dim oGuid = oRowView.Row.Item(COL_GUID)
Load_Profile(oGuid)
Catch ex As Exception
FormHelper.ShowErrorMessage(ex.Message, "Unexpected error switching notifications")
End Try
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnCloseForm.ItemClick
@@ -143,15 +172,14 @@ Public Class frmNotification_Startup
End Sub
Private Sub btnMarkAsRead_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnMarkAsRead.ItemClick
Dim oSuccess As Boolean = True
Try
Dim oSQL = $"INSERT INTO [dbo].[TBDD_NOTIFICATIONS_USER_HISTORY] ([NOTIFY_ID], [USR_ID]) VALUES ({NOTIFY_ID} ,{_Environment.User.UserId})"
Dim oSuccess As Boolean = True
Dim oSQL = $"INSERT INTO [dbo].[TBDD_NOTIFICATIONS_USER_HISTORY] ([NOTIFY_ID], [USR_ID]) VALUES ({CurrentNotificationId} ,{_Environment.User.UserId})"
If OperationMode = OperationMode.ZooFlow Or OperationMode = OperationMode.WithAppServer Then
Dim oResponse = Client.ExecuteNonQueryFromECM(oSQL)
If Not oResponse.OK Then
oSuccess = False
End If
oSuccess = oResponse.OK
Else
oSuccess = _Environment.Database.ExecuteNonQuery(oSQL)
@@ -167,11 +195,9 @@ Public Class frmNotification_Startup
End If
End If
Catch ex As Exception
Dim oMsgBox As New frmDialog(ex.Message, "Unexpected Error HistoryInsert:", frmDialog.DialogType.Error)
oMsgBox.ShowDialog()
oSuccess = False
End Try
FormHelper.ShowErrorMessage(ex.Message, "Unexpected error writing history")
End Try
End Sub
Private Function GetOperationMode() As OperationMode
Dim oOperationMode As OperationMode