190 lines
7.6 KiB
VB.net
190 lines
7.6 KiB
VB.net
Imports System.Drawing
|
|
Imports System.Threading
|
|
Imports DigitalData.Controls.DocumentViewer
|
|
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 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 DigitalData.Modules.ZooFlow.Environment)
|
|
_NotificationsTable = DTNotifications
|
|
LogConfig = pLogConfig
|
|
Logger = pLogConfig.GetLogger()
|
|
_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
|
|
Try
|
|
DocumentViewer1.Init(LogConfig, _GDPictureKey)
|
|
OperationMode = GetOperationMode()
|
|
Client = _Environment.Service.Client
|
|
Me.Text = _FormCaption
|
|
If _NotificationsTable.Rows.Count = 1 Then
|
|
Me.ListBoxControl1.Visible = False
|
|
Load_Profile(_NotificationsTable.Rows(0).Item("GUID"))
|
|
Else
|
|
|
|
ListBoxControl1.DataSource = _NotificationsTable
|
|
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 _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
|
|
End If
|
|
|
|
If oType.ToUpper = "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
|
|
btnMarkAsRead.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
|
Else
|
|
btnMarkAsRead.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 btnCloseForm.ItemClick
|
|
Me.Close()
|
|
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})"
|
|
If OperationMode = OperationMode.ZooFlow Or OperationMode = OperationMode.WithAppServer Then
|
|
Dim oResponse = Client.ExecuteNonQueryFromECM(oSQL)
|
|
If Not oResponse.OK Then
|
|
oSuccess = False
|
|
End If
|
|
Else
|
|
oSuccess = _Environment.Database.ExecuteNonQuery(oSQL)
|
|
|
|
End If
|
|
If oSuccess = False Then
|
|
lbStatus.Caption = "Error while setting History!"
|
|
lbStatus.ItemAppearance.Normal.BackColor = Color.Red
|
|
lbStatus.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
|
Else
|
|
lbStatus.Caption = "History successfully saved!"
|
|
lbStatus.ItemAppearance.Normal.BackColor = Color.Green
|
|
lbStatus.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
|
If _NotificationsTable.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 |