Bonjour,
Voilà j'ai trois objets
GenRsaErreur de propriétes CodeErreur et LibelleErreur et de constructeureCodeErreursGenRsa est une énumération
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public Sub New(ByVal codErreur As eCodeErreursGenRsa)
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
En Sql cela donnerait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Montant=Somme(genrsaRejet.Montant) Nombre=Somme(GenrsaRejet.Nombre)
Voilà mon code qui ne compile pas le moins du monde.
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
Merci de votre aide
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
Soazig
Partager