public static void ChangerEtatCitoyen(Citoyen citoyen, Etats etat)
        {
            citoyen.Etat = etat;
            citoyen.Records.Add(new Record(DateTime.Now, etat));

            if (etat == Etats.Infecte)
            {
                checkContact(citoyen);
            }
        }
Beispiel #2
0
 protected override void EnvoyerDonnees(Citoyen citoyen, bool resultat)
 {
     if (resultat)
     {
         MinistereDeLaSante.ChangerEtatCitoyen(citoyen, Etats.Infecte);
     }
     else
     {
         MinistereDeLaSante.ChangerEtatCitoyen(citoyen, Etats.Sain);
     }
 }
Beispiel #3
0
        public bool TestPCR(Citoyen citoyen)
        {
            Random random = new Random();
            var    tmp    = random.NextDouble();
            //Taux de positivité : 10%
            bool resultat = tmp >= 0.9;

            EnvoyerDonnees(citoyen, resultat);
            //Sauvgarder le test
            citoyen.Tests.Add(new Test(this.reference, resultat));
            return(resultat);
        }
        private static void checkContact(Citoyen citoyen)
        {
            // quand un citoyen devient infecté tout les aurtes citoyen saint ou d'etat inconnu qu'il a contacter durant la derniere semaine devient Soupçonné

            foreach (Rencontre rencontre in citoyen.Rencontres.Where(r => r.date >= DateTime.Now.AddDays(-7)))
            {
                if (rencontre.citoyen.Etat == Etats.Inconnu || rencontre.citoyen.Etat == Etats.Sain)
                {
                    rencontre.citoyen.Etat = Etats.Soupconne;
                }
            }
        }
 //les operations a effectuer si un citoyen infecté rencotre un autre citoyen
 //Enregestrer dans un DB les rencontres d'une semaines
 public void Contacter(Citoyen citoyen)
 {
     Rencontre.AddRencontre(this, citoyen);
 }
 public static void AddRencontre(Citoyen c1, Citoyen c2, DateTime date)
 {
     c1.Rencontres.Add(new Rencontre(c2, date));
     c2.Rencontres.Add(new Rencontre(c1, date));
 }
 public static void AddRencontre(Citoyen c1, Citoyen c2)
 {
     c1.Rencontres.Add(new Rencontre(c2));
     c2.Rencontres.Add(new Rencontre(c1));
 }
 private Rencontre(Citoyen citoyen, DateTime date)
 {
     this.citoyen = citoyen;
     this.date    = date;
 }
 private Rencontre(Citoyen citoyen)
 {
     this.citoyen = citoyen;
     date         = DateTime.Now;
 }