Bonjour,
Je développe une application qui permet de faire une moyenne du temps de communication des utilisateurs.
Actuellement je récupère donc un fichier xml, lorsque je rentre le numéro d'un utilisateur, tous le fichier est parcouru et j'ai donc une moyenne qui s'affiche.
Cependant, je voudrais avoir une moyenne par mois, j'ai donc mis un datepicker mais je bloque légèrement ..!!
Exemple d'un nœud xml :
Code xml : 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 <CallAccounting xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CAPTicket_V001.001.xsd"> <OmniPCXOffice> <SoftwareVersion>3EH30504DPAA ALZFR820/055.001</SoftwareVersion> <CPUIPAddress>ipaddress</CPUIPAddress> </OmniPCXOffice> <Checksum>808632064</Checksum> <TicketType>Call</TicketType> <ChargedUserType>A</ChargedUserType> <ChargedUserID>1114</ChargedUserID> <SubscriberName>NOM Prenom</SubscriberName> <CommunicationType>Outgoing</CommunicationType> <TrunkType>P</TrunkType> <TrunkID>001</TrunkID> <Date>2014-05-06</Date> <Time>16:14:00</Time> <CallDuration>00:04:24</CallDuration> <TaxesAmount>0</TaxesAmount> <Service>ST</Service> <DialledNumber>0491759075</DialledNumber> <DiallingMode>M</DiallingMode> <RingingDuration>00:00:00</RingingDuration> <Cost>0.00</Cost> <Entity>1</Entity> <Currency>EUR</Currency> </CallAccounting>
Lorsque je fais la moyenne de l'utilisateur :
Faut-il utiliser des expressions régulières ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var number = var number = from call in doc.Root.Elements("CallAccounting") where call.Element("ChargedUserID").Value == textBox2.Text select call; var moyenne = number.Sum(call => TimeSpan.Parse(call.Element("CallDuration").Value).TotalSeconds); TimeSpan t = TimeSpan.FromSeconds(moyenne); string answer = string.Format("{0:D2}h:{1:D2}m:{2:D2}s", t.Hours, t.Minutes, t.Seconds); listView1.Items.Add("Moyenne du temps de communication : " + answer);
Partager