private void btPayer_Click(object sender, EventArgs e)
        {
            RadioButton        rb;
            CheckBox           cb;
            List <Participant> concernes = new List <Participant>();
            Participant        payeur    = new Participant("unknow");
            Participant        p         = new Participant("unknow");

            //Payeur
            for (int i = 0; i < lbPayeur.Items.Count; i++)
            {
                if (lbPayeur.Items[i] is RadioButton)
                {
                    rb = (RadioButton)lbPayeur.Items[i];
                    if (rb.Checked)
                    {
                        payeur = (Participant)rb.Tag;
                    }
                }
            }

            //Participant
            for (int i = 0; i < lbParticipants.Items.Count; i++)
            {
                if (lbParticipants.Items[i] is CheckBox)
                {
                    cb = (CheckBox)lbParticipants.Items[i];
                    if (cb.Checked)
                    {
                        p = (Participant)cb.Tag;
                        concernes.Add(p);
                    }
                }
            }

            float somme = Convert.ToSingle(tbSomme.Text);

            if (tbSomme.Text != "" || tbTitre.Text != "")
            {
                Depense d = new Depense(tbTitre.Text, somme, concernes, payeur);
                if (!d.GetConcerne().Contains(payeur))
                {
                    payeur.AjouterDepense(d);
                }
                else
                {
                    foreach (Participant pa in concernes)
                    {
                        pa.AjouterDepense(d);
                    }
                }
                DonneesPubliques.GetMonTricount().GetListeDepenses().Add(d);
                lbDepense = MesOutils.ActualiserListBox(lbDepense);
                DonneesPubliques.SetUneDepense(d);
            }
            else
            {
                MessageBox.Show("Entrez une somme et un titre svp.");
            }
        }
        private void btValider_Click(object sender, EventArgs e)
        {
            string titre = tbTitre.Text;
            float  somme = Convert.ToSingle(tbSomme.Text);

            List <Participant> concernes = new List <Participant>();
            Participant        payeur    = new Participant("unknow");
            Participant        lesParticipantsConcernes = new Participant("unknow");

            RadioButton rb;
            CheckBox    cb;

            for (int i = 0; i < lbPayeur.Items.Count; i++)
            {
                if (lbPayeur.Items[i] is RadioButton)
                {
                    rb = (RadioButton)lbPayeur.Items[i];
                    if (rb.Checked)
                    {
                        payeur = (Participant)rb.Tag;
                    }
                }
            }

            for (int i = 0; i < lbParticipants.Items.Count; i++)
            {
                if (lbParticipants.Items[i] is CheckBox)
                {
                    cb = (CheckBox)lbParticipants.Items[i];
                    if (cb.Checked)
                    {
                        lesParticipantsConcernes = (Participant)cb.Tag;
                        concernes.Add(lesParticipantsConcernes);
                    }
                }
            }

            Depense d = new Depense(titre, somme, concernes, payeur);

            DonneesPubliques.GetMonTricount().GetListeDepenses().Add(d);
            DonneesPubliques.GetMonTricount().GetListeDepenses().Remove(DonneesPubliques.GetUneDepense());
            DonneesPubliques.SetUneDepense(d);
            //payeur.ActualiserDepense(d, ref lbConcerne);

            this.Hide();
            FormTricount ft = new FormTricount();

            ft.Show();
        }
        public void AjouterDepense(Depense d)
        {
            mesDepenses.Add(d); //Ajout de la dépense à la liste dépense du payeurs
            if (this.Equals(d.GetLePayeur()))
            {
                balance += d.GetMontant();            //balance du payeur augmente
            }
            int nbrConcernes = d.GetConcerne().Count; //Compte le nombre de personnes concernées par la dépense

            if (d.GetConcerne().IndexOf(this) >= 0)
            {
                balance       = (balance - (d.GetMontant() / nbrConcernes)); //Balance des personnes concernées diminue en fct du rapport montant / nbr personnes concernées par la dépense
                monCoutTotal += d.GetMontant() / nbrConcernes;               //Cout total augmente du montant de la dépense sur le nbr de personne
            }
        }
 public void SupprimerDepense(Depense d)
 {
     mesDepenses.Remove(d);
     DonneesPubliques.GetMonTricount().GetListeDepenses().Remove(d);
 }
Ejemplo n.º 5
0
 public static void SetUneDepense(Depense laDepense)
 {
     uneDepense = laDepense;
 }