Imports System.Drawing Imports System.Threading Imports DigitalData.Modules.EDMI.API Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.ZooFlow.Constants Public Class NNfrmNotification_Startup Private ReadOnly NotificationItems As New List(Of NotificationItem) Private oDTNotifications As DataTable Private ReadOnly Property LogConfig As LogConfig Private ReadOnly Property Logger As Logger Private ReadOnly Environment As Environment Private GDPictureKey As String Private MyCaption As String Private NOTIFY_ID As Integer Private Property OperationMode As OperationMode Private Client As Client Friend Class NotificationItem Public Id As Integer Public Title As String Public MSGSTRING As String Public Overrides Function ToString() As String Return Title End Function End Class Public Sub New(DTNotifications As DataTable, pLogConfig As LogConfig, pGDPictureKey As String, pCaption As String, pEnvironment As Environment) oDTNotifications = DTNotifications LogConfig = pLogConfig Logger = pLogConfig.GetLogger() GDPictureKey = pGDPictureKey MyCaption = 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 Try DocumentViewer1.Init(LogConfig, GDPictureKey) OperationMode = GetOperationMode() Client = Environment.Service.Client Me.Text = MyCaption If oDTNotifications.Rows.Count = 1 Then Me.ListBoxControl1.Visible = False Load_Profile(oDTNotifications.Rows(0).Item("GUID")) Else For Each oRow As DataRow In oDTNotifications.Rows NotificationItems.Add(New NotificationItem With { .Id = CInt(oRow.Item("GUID")), .Title = oRow.Item("TITLE").ToString }) Next ' ListBoxControl1.Items.Clear() 'ListBoxControl1.Items.AddRange(NotificationItems) ListBoxControl1.DataSource = oDTNotifications ListBoxControl1.ValueMember = "GUID" ListBoxControl1.DisplayMember = "TITLE" End If Catch ex As Exception Dim oMsgBox As New frmDialog(ex.Message, "Unexpected Error loading form:", frmDialog.DialogType.Error) oMsgBox.ShowDialog() 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 If oDTNotifications.Rows.Count = 1 Then oType = oDTNotifications.Rows(0).Item("DISPLAY_TYPE") oMSG_STRING = oDTNotifications.Rows(0).Item("MSG_STRING") oMarkasRead = oDTNotifications.Rows(0).Item("VALIDATE_READ") NOTIFY_ID = oDTNotifications.Rows(0).Item("GUID") Else Dim oCount As Integer = 0 For Each orow As DataRow In oDTNotifications.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 End If If oType = "MESSAGE" Then RichEditControl1.Text = oMSG_STRING RichEditControl1.Visible = True RichEditControl1.Dock = Windows.Forms.DockStyle.Fill Else If IO.File.Exists(oMSG_STRING) Then DocumentViewer1.LoadFile(oMSG_STRING) 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 bbtnitmMarkRead.Visibility = DevExpress.XtraBars.BarItemVisibility.Always Else bbtnitmMarkRead.Visibility = DevExpress.XtraBars.BarItemVisibility.Never End If Catch ex As Exception Dim oMsgBox As New frmDialog(ex.Message, "Unexpected Error loading Message:", frmDialog.DialogType.Error) oMsgBox.ShowDialog() 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 End If End Sub Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick Me.Close() End Sub Private Sub bbtnitmMarkRead_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmMarkRead.ItemClick Dim oSuccess As Boolean = True Try Dim oInsert = $"INSERT INTO [dbo].[TBDD_NOTIFICATIONS_USER_HISTORY] ([NOTIFY_ID] ,[USR_ID]) VALUES ({NOTIFY_ID} ,{Environment.User.UserId})" If OperationMode = OperationMode.ZooFlow Or OperationMode = OperationMode.WithAppServer Then Dim oResponse = Client.ExecuteNonQueryFromECM(oInsert) If Not oResponse.OK Then oSuccess = False End If Else oSuccess = Environment.Database.ExecuteNonQuery(oInsert) End If If oSuccess = False Then BarStaticItem1.Caption = "Error while setting History!" BarStaticItem1.ItemAppearance.Normal.BackColor = Color.Red Else BarStaticItem1.Caption = "History successfully saved!" BarStaticItem1.ItemAppearance.Normal.BackColor = Color.Green If oDTNotifications.Rows.Count = 1 Then Me.Close() 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 End Sub Private Function GetOperationMode() As OperationMode Dim oOperationMode As OperationMode If Environment.Service.Client?.IsOnline AndAlso Environment.Service.Address <> String.Empty Then oOperationMode = OperationMode.WithAppServer Else oOperationMode = OperationMode.NoAppServer End If Return oOperationMode End Function End Class