Bonjour,
J'ai une structure ainsi définie:
Dans mon application:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Public Class cRegions Inherits Dictionary(Of String, cFlotte) End Class Public Class cFlotte Public Property Code As String Public Property Vehicules As Dictionary(Of String, cVehicule) Public Sub New() Vehicules = New Dictionary(Of String, cVehicule) End Sub End Class Public Class cVehicule Public Property Type As String Public Property Utilisateurs As List(Of String) Public Sub New() Utilisateurs = New List(Of String) End Sub End Class
Le but est de connaitre si une personne faite partie des utilisateurs d'un véhicule quelque soit la région.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim FlotteRegions As New cRegions FlotteRegions.Add("Ile de France", New cFlotte With {.Code = "00001"}) FlotteRegions.Add("Cote d'azur", New cFlotte With {.Code = "00002"}) FlotteRegions("Ile de France").Vehicules.Add("610 GHP 75", New cVehicule With {.Type = "Utilitaire"}) FlotteRegions("Ile de France").Vehicules.Add("1244 FFR 92", New cVehicule With {.Type = "VL"}) FlotteRegions("Ile de France").Vehicules("610 GHP 75").Utilisateurs.Add("Pierre") FlotteRegions("Ile de France").Vehicules("610 GHP 75").Utilisateurs.Add("Paul") FlotteRegions("Ile de France").Vehicules("1244 FFR 92").Utilisateurs.Add("Jacques") FlotteRegions("Ile de France").Vehicules("1244 FFR 92").Utilisateurs.Add("Michel") FlotteRegions("Cote d'azur").Vehicules.Add("732 AAR 06", New cVehicule With {.Type = "VL"}) FlotteRegions("Cote d'azur").Vehicules.Add("930 WKR 06", New cVehicule With {.Type = "VL"}) FlotteRegions("Cote d'azur").Vehicules("732 AAR 06").Utilisateurs.Add("Luc") FlotteRegions("Cote d'azur").Vehicules("732 AAR 06").Utilisateurs.Add("Simon") FlotteRegions("Cote d'azur").Vehicules("930 WKR 06").Utilisateurs.Add("Albert") Dim sUtilisateur As String = "Boris" If FlotteRegions.Values.Select(Function(x) x.Vehicules.Select(Function(y) y.Value.Utilisateurs.Contains(sUtilisateur))).Count > 0 Then MsgBox("Utilisateur connu") Else MsgBox("Inconnu!") End If
Dans l'exemple ci-dessus, une recherche sur "Boris" me retourne "Utilisateur connu" alors qu'il ne fait pas partie du staff. Il va sans dire que je n'ai pas la bonne logique mais je coince...
Merci pour l'aide
Olivier
Partager