201 lines
7.8 KiB
VB.net
201 lines
7.8 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
|
|
Imports DevExpress.XtraGrid
|
|
|
|
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 User2Workflow)
|
|
Private WorkflowList As List(Of Workflows)
|
|
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
|
|
|
|
WFUserList = New List(Of User2Workflow)
|
|
WorkflowList = New List(Of Workflows)
|
|
' 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
|
|
For Each oRow As DataRow In oDatatableWFSelect.Rows
|
|
WorkflowList.Add(New Workflows() With {
|
|
.ID = oRow.Item(0),
|
|
.Description = IIf(IsDBNull(oRow.Item(2)), "", oRow.Item(2)),
|
|
.Title = oRow.Item(1),
|
|
.Image = SvgImageCollection1.Item("Workflow")
|
|
})
|
|
Next
|
|
End If
|
|
GridControlWorkflows.DataSource = WorkflowList
|
|
|
|
TileViewWorkflows.FocusedRowHandle = GridControl.InvalidRowHandle
|
|
|
|
If OperationMode = OperationMode.NoAppServer Then
|
|
' panelContainerStatus.Visibility = Docking.DockVisibility.Hidden
|
|
End If
|
|
WFUserList = New List(Of User2Workflow)
|
|
' 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)
|
|
|
|
End Sub
|
|
|
|
|
|
Friend Class User2Workflow
|
|
Public Property UserID As Integer
|
|
Public Property EMail As String
|
|
Public Property FullName As String
|
|
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
|
|
Friend Class Workflows
|
|
Public Property Description As String
|
|
Public Property Title As String
|
|
Public Property ID As Integer
|
|
Public Property Image As SvgImage
|
|
Public Property Count As Integer = 0
|
|
|
|
Public ReadOnly Property DisplayName As String
|
|
Get
|
|
Return ID
|
|
End Get
|
|
End Property
|
|
|
|
End Class
|
|
|
|
Private Sub LookUpEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles LookUpEdit1.EditValueChanged
|
|
Dim editor As DevExpress.XtraEditors.LookUpEdit = CType(sender, DevExpress.XtraEditors.LookUpEdit)
|
|
Dim row As DataRowView = CType(editor.Properties.GetDataSourceRowByKeyValue(editor.EditValue), DataRowView)
|
|
Dim UsID As Object = row("ID")
|
|
Dim UsFname As Object = row("FullName")
|
|
Dim UsEmail As Object = row("Email")
|
|
WFUserList.Add(New User2Workflow() With {
|
|
.UserID = UsID,
|
|
.FullName = UsFname,
|
|
.EMail = UsEmail,
|
|
.Image = SvgImageCollection1.Item("actions_user")
|
|
})
|
|
|
|
GridSelectedUsers.DataSource = Nothing
|
|
GridSelectedUsers.DataSource = WFUserList
|
|
|
|
TileViewUser.FocusedRowHandle = GridControl.InvalidRowHandle
|
|
'Else
|
|
' Dim omsg = "Bitte wählen Sie zuerst einen Workflow"
|
|
' If Environment.User.Language <> "de-DE" Then
|
|
' omsg = "Please choose a workflow first"
|
|
' End If
|
|
' Dim oMsgBox As New frmDialog(omsg, "Error", False)
|
|
' oMsgBox.ShowDialog()
|
|
'End If
|
|
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
|
|
Dim oUserRow = TileViewUser.GetRow(TileViewUser.FocusedRowHandle)
|
|
If oUserRow IsNot Nothing AndAlso TypeOf oUserRow Is User2Workflow Then
|
|
Dim oDateSearch As User2Workflow = oUserRow
|
|
|
|
WFUserList.Remove(oDateSearch)
|
|
GridSelectedUsers.DataSource = Nothing
|
|
GridSelectedUsers.DataSource = WFUserList
|
|
End If
|
|
|
|
End Sub
|
|
End Class |