Modules/GUIs.Common/frmWorkflow_Adhoc_start.vb

143 lines
5.6 KiB
VB.net

Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.Logging
Imports DigitalData.GUIs.Common.Base
Imports DigitalData.Modules.ZooFlow.Constants
Imports DigitalData.Modules.EDMI.API
Imports DevExpress.XtraEditors
Imports System.Drawing
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DevExpress.Utils.Svg
Public Class frmWorkflow_Adhoc_start
Private ReadOnly Property LogConfig As LogConfig
Private ReadOnly Property Logger As Logger
Private Property OperationMode As OperationMode
Private ReadOnly Environment As Environment
Private ReadOnly AdHocWorkflow As AdHocWorkflow
Private Client As Client
Private IsLoading As Boolean = True
Private WFUserList As List(Of WFUSer)
Public Sub New(pLogConfig As LogConfig, pEnvironment As Environment, pAdhocWorkflow As AdHocWorkflow)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Environment = pEnvironment
AdHocWorkflow = pAdhocWorkflow
LogConfig = pLogConfig
Logger = pLogConfig.GetLogger()
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
Private Sub frmWorkflow_Adhoc_start_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
' Operation mode is either guessed from service settings
' or explictly set from OperationModeOverride in Params
OperationMode = GetOperationMode()
Client = Environment.Service.Client
' Initialize Viewer with GDPicture.NET License
' Hide options relating to a filepath for zooflow
If OperationMode = OperationMode.ZooFlow Then
' RibbonPageGroupFilesystem.Visible = False
End If
If OperationMode = OperationMode.NoAppServer Then
' RibbonPageGroupCheckInOut.Visible = False
' RibbonPageGroupWorkflow.Visible = False
' RibbonPageGroupAttribute.Visible = False
Else
' RibbonPageGroupFilesystem.Visible = False
End If
Dim oDatatableUserselect As DataTable
Dim oDatatableWFSelect As DataTable
Dim oSQL = AdHocWorkflow.AHWF_CMD_USR_SELECT
Dim oResult As GetDatatableResponse = Nothing
If OperationMode = OperationMode.ZooFlow Or OperationMode = OperationMode.WithAppServer Then
oResult = Client.GetDatatableFromECM(oSQL)
If oResult.OK = False Then
Throw New ApplicationException(oResult.ErrorMessage)
Else
oDatatableUserselect = oResult.Table
End If
Else
oDatatableUserselect = Environment.Database.GetDatatable(oSQL)
End If
If Not IsNothing(oDatatableUserselect) Then
LookUpEdit1.Properties.DataSource = oDatatableUserselect
LookUpEdit1.Properties.ValueMember = oDatatableUserselect.Columns(0).ColumnName
LookUpEdit1.Properties.DisplayMember = oDatatableUserselect.Columns(1).ColumnName
End If
oSQL = AdHocWorkflow.AHWF_CMD_LAYOUT_SELECT
If OperationMode = OperationMode.ZooFlow Or OperationMode = OperationMode.WithAppServer Then
oResult = Client.GetDatatableFromECM(oSQL)
If oResult.OK = False Then
Throw New ApplicationException(oResult.ErrorMessage)
Else
oDatatableWFSelect = oResult.Table
End If
Else
oDatatableWFSelect = Environment.Database.GetDatatable(oSQL)
End If
If Not IsNothing(oDatatableWFSelect) Then
cmbWorkflowSelect.DataSource = oDatatableWFSelect
cmbWorkflowSelect.ValueMember = oDatatableWFSelect.Columns(0).ColumnName
cmbWorkflowSelect.DisplayMember = oDatatableWFSelect.Columns(1).ColumnName
End If
If OperationMode = OperationMode.NoAppServer Then
' panelContainerStatus.Visibility = Docking.DockVisibility.Hidden
End If
WFUserList = New List(Of WFUSer)
' Hide the complete Navigation Ribbon Group if desired
Catch ex As Exception
Logger.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error while loading form:")
Finally
IsLoading = False
End Try
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
Dim oUser As New WFUSer() With {
.Mail = "Heute",
.UserID = "Dokumente, die heute abgelegt wurden",
.Image = SvgImageCollection1.Item("actions_user")
}
End Sub
Private Class ListItem
Public Name As String
Public email As String
End Class
Friend Class WFUSer
Public Property Mail As String
Public Property UserID As Integer
Public Property Image As SvgImage
Public Property Count As Integer = 0
Public ReadOnly Property DisplayName As String
Get
Return UserID
End Get
End Property
End Class
End Class