Mise en place d'un systeme de workflow
Bonjour,
je suis en train de mettre en place un systeme de validation des documents (passport, piece d'identite) dans le cadre d'une application.
Dans mon systeme, il y'a la notion de type de document (passsport, piece d'identite). Et il y'a des rédacteurs qui crée le document et les valideurs qui valident.
Au niveau de la création j'ai pu implémenter sans trop de difficultés
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
Dim M_TYPEDOC As New ArrayList
Dim M_INbColTableau As Integer = 2
Public Class TypeDoc
Private m_strType As String
Private m_strLabel As String
Private m_strVueSaisie As String
Private m_bInsert As Boolean = True
Private m_ID As Integer = 0
Private m_Redacteur as Redacteur
Public Property Type As String
Get
Return m_strType
End Get
Set(ByVal Value As String)
m_strType = value
End Set
End Property
Public Property Label As String
Get
Return m_strLabel
End Get
Set(ByVal Value As String)
m_strLabel = value
End Set
End Property
Public Property InputView As String
Get
Return m_strVueSaisie
End Get
Set(ByVal Value As String)
m_strVueSaisie = value
End Set
End Property
Public Property ModeInsert As Boolean
Get
Return m_bInsert
End Get
Set(ByVal Value As Boolean)
m_bInsert = value
End Set
End Property
Public Property ID As Integer
Get
Return m_id
End Get
Set(ByVal Value As Integer)
m_id = value
End Set
End Property
Public Property Redacteur As Redacteur
Get
Return m_Redacteur
End Get
Set(ByVal Value As Redacteur)
m_Redacteur = value
End Set
End Property
Public Sub New(ByVal iId As Integer, ByVal strType As String, ByVal strLabel As String, ByVal strVueSaisie As String, ByVal oRedacteur as Redacteur)
type = strType
label = strLabel
InputView = strVueSaisie
ID = iId
Redacteur = oRedacteur
End Sub
End Class |
et j'ai ma class Redacteur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
Public class Profils
private arProfils as new arraylist
public sub new()
end sub
public sub new(ByVal sProfil as String)
addProfil (sprofil)
end sub
public sub addProfil (ByVal sProfil as String)
for each sProfil in sProfil.split(",")
arProfils.Add(sProfil)
next
End sub
public Function getprofil()
return arProfils
end function
End class
Public class Redacteur
private m_profils as new Profils
Public readonly Property List As Profils
Get
Return m_profils
End Get
End Property
Public sub new (ByVal sprof as string)
m_profils.addProfil(sprof)
End Sub
End Class |
voici un exemple d'appel:
Code:
1 2
|
M_TYPEDOC.Add(New TypeDoc(iUniqueId, "PASSPORT", "Passport", "form_passport", New Redacteur("Administration,ProfilCreation"))) |
Donc pour un document donné (typedoc) j'ai la liste des profils qui peuvent créer (TypeDoc.Redacteur.List.getprofil())...
Le problème au niveau de la validation c'est que plusieurs groupes peuvent valider et un groupe est un ensemble de profils.
ex: Pour le typedoc passport, on peut avoir valideur 1 (profil1, profil2..) et valideur 2 (profil3, profiil4, ...).
Et c'est cela que je n'arrive pas à implémenter. Si quelqu'un a une idée, je suis preneur.
Merci d'avance