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); } }
protected override void EnvoyerDonnees(Citoyen citoyen, bool resultat) { if (resultat) { MinistereDeLaSante.ChangerEtatCitoyen(citoyen, Etats.Infecte); } else { MinistereDeLaSante.ChangerEtatCitoyen(citoyen, Etats.Sain); } }
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; }