Total d'une transaction journaliere

Bonjour chers tous,
je suis debutant avec flutter. je suis entrain de developper une application de transfert. je viens vers vous pour solliciter votre haute experience dans le domaine de la programmation mobile plus precisement sur la plateform flutter.

la question est la suivante:

comment je peux faire pour calculer le montant total d’envoie journalier?

merci d’avance

Bonjour,

Avec une boucle qui additionne les montants en fonction d’une date, mais on pourra plus t’aider si tu nous montre le code :slight_smile:

desole pour le code. je vais te l’envoyer tout de suite.

import ‹ package:cloud_firestore/cloud_firestore.dart ›;
import ‹ package:flutter/material.dart ›;

class ListEnvoieScreen extends StatefulWidget{
@override
_ListEnvoieScreenState createState() => _ListEnvoieScreenState();
}
class _ListEnvoieScreenState extends State{

TextEditingController telController = TextEditingController();
TextEditingController nomprenomexController = TextEditingController();
TextEditingController montantController = TextEditingController();
TextEditingController fraisController = TextEditingController();
TextEditingController destinationController = TextEditingController();
TextEditingController teldesController = TextEditingController();
TextEditingController nomprenomdesController = TextEditingController();
DateTime _dateTime;

buildTextField(
TextEditingController controller, String labelText){
return Container(
padding: EdgeInsets.symmetric(horizontal: 10, vertical: 5),
decoration: BoxDecoration(
color: Colors.white, border: Border.all(color: Colors.black)),
child: TextField(
controller: controller,
style: TextStyle(color: Colors.black),
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(horizontal: 10),
labelText: labelText,
labelStyle: TextStyle(color: Colors.black),
//prefix: Icon(icon),
border: InputBorder.none),
),
);
}

CollectionReference ref = Firestore.instance.collection(‹ transfert ›);

@override
Widget build(BuildContext context){
return Scaffold(
appBar: AppBar(backgroundColor: Colors.orange, elevation: 0),
backgroundColor: Colors.white,
body: StreamBuilder(
stream: ref.snapshots(),
builder: (_, AsyncSnapshot snapshot){
if(snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index){
var doc = snapshot.data.documents[index].data;
return ListTile(
leading: IconButton(
icon: Icon(Icons.edit),
color: Colors.orange,
onPressed: (){
telController.text=doc[‹ Telephone de l’expediteur ›];
nomprenomexController.text=doc[‹ Nom & Prenom de l’expediteur ›];
montantController.text=doc[‹ Montant envoyé ›];
fraisController.text=doc[‹ frais d’envoi ›];
destinationController.text=doc[‹ Destination ›];
teldesController.text=doc[‹ Telephone du destinataire ›];
nomprenomdesController.text=doc[‹ Nom & Prenom du destinataire ›];
showDialog(
context: context,
builder: (context)=> Dialog(
child: Container(
color: Colors.white,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: ListView(
shrinkWrap: true,
children:[
buildTextField(telController, ‹ Telephone de l’expediteur ›),
SizedBox(height: 20),
buildTextField(nomprenomexController, ‹ Nom & Prenom de l’expediteur ›),
SizedBox(height: 20),
buildTextField(montantController, ‹ Montant envoyé ›),
SizedBox(height: 20),
buildTextField(fraisController, ‹ Frais d’envoi ›),
SizedBox(height: 20),
buildTextField(destinationController, ‹ Destination ›),
SizedBox(height: 20),
buildTextField(teldesController, ‹ Telephone du destinataire ›),
SizedBox(height: 20),
buildTextField(nomprenomdesController, ‹ Nom & Prenom du destinataire ›),
SizedBox(height: 10),
FlatButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
color: Colors.orange,
child: Text('Modifier ', style: TextStyle(
fontSize: 20, fontWeight: FontWeight.bold),),
onPressed:() {
snapshot.data.documents[index]
.reference
.updateData({
« Telephone de l’expediteur »: telController.text,
« Nom & Prenom de l’expediteur »: nomprenomexController.text,
« Montant envoyé »: montantController.text,
« frais d’envoi »: fraisController.text,
« Destination »: destinationController.text,
« Telephone du destinataire »: teldesController.text,
« Nom & Prenom du destinataire »: nomprenomdesController.text,
}).whenComplete(() => Navigator.pop(context));
},),
SizedBox(height: 10),
RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
color: Colors.orange,
child: Text('Supprimer ', style: TextStyle(
fontSize: 20, fontWeight: FontWeight.bold),),
onPressed:() {
snapshot.data.documents[index]
.reference
.delete().whenComplete(() => Navigator.pop(context));
},)
],
),
),
),
),
);
},
),
title: Text(
doc[‹ Telephone de l’expediteur ›],
style: TextStyle(color: Colors.red),
),
subtitle: Column(
children: [
Text(
doc[‹ Nom & Prenom de l’expediteur ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Montant envoyé ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ frais d’envoi ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Destination ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Telephone du destinataire ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Nom & Prenom du destinataire ›],
style: TextStyle(color: Colors.black),
),
],
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
) ,

              );
            });
      }
      else
        return Text('');
    },

  ),
);

}

}

Si tu peux revoir le formatage de ton code, cela sera plus simple pour nous de le lire.
Tu as ensuite le bouton </> qui te permettra de le mettre en forme.