Bonjour,
Voilà j'ai trois objets
GenRsaErreur de propriétes CodeErreur et LibelleErreur et de constructeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Public Sub New(ByVal codErreur As eCodeErreursGenRsa)
eCodeErreursGenRsa est une énumération

GenRsaRejet avec entre autre les propriétés
Montant entier
Erreur() GenRsaErreur


Et GenRsaRejetStatistique ayant les propriétés suivantes
Erreur
Nombre
NombreTotal
Montant

Je cherche à creer une liste de GenRsaRejetStatistique à partir d'une liste de
GenRsaRejet
GenRsaRejet doit contenir pour chaque code erreur de la liste GenrsaRejet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Montant=Somme(genrsaRejet.Montant)
Nombre=Somme(GenrsaRejet.Nombre)
En Sql cela donnerait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Select codeErreur, sum(Montant) as montant, count(*) as Nombre
from genrsarejet
group by codeErreur
Voilà mon code qui ne compile pas le moins du monde.
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
 
        Public Shared Function GetListGenRsaRejetStatistique(ByVal listGenrsaRejetsFiltree As List(Of GenRsaRejet), ByVal typePrestation As [DIM].DimTypePrestation) As List(Of GenRsaRejetStatistique)
            Dim dicErreur As Dictionary(Of GenRsaErreur.eCodeErreursGenRsa, String)
            dicErreur = GenRsaErreur.DicoErreurMessageParType(typePrestation)
            Dim iMontantTotal As Integer?
            Dim iNombreTotal As Integer
            'Dim errCode As GenRsaErreur.eCodeErreursGenRsa
            iMontantTotal = listGenrsaRejetsFiltree.Sum(Function(r As GenRsaRejet) r.Montant)
            If iMontantTotal Is Nothing Then
                iMontantTotal = 0
            End If
            iNombreTotal = listGenrsaRejetsFiltree.Count
            Dim result = From lr In listGenrsaRejetsFiltree _
                         Group By lr.Erreur.CodeErreur Into somme = Sum(lr.Montant)
                        Select New GenRsaRejetStatistique With {.Erreur = New GenRsaErreur(lr.Erreur.CodeErreur), .Montant = somme, .NombreTotal = iNombreTotal}
 
 
                Return result.ToList()
        End Function
Merci de votre aide
Soazig