Example #1
0
        private void F_Report_Load(object sender, EventArgs e)
        {
            repository = ProjectRepository.getInstance();
            reportRepository = ReportRepository.getInstance();

            this.dtp_from.Value = new DateTime(repository.currentYear, repository.currentMonth, 1);
            this.dtp_to.Value = new DateTime(repository.currentYear, repository.currentMonth, DateTime.DaysInMonth(repository.currentYear, repository.currentMonth));
            loadReport();
        }
 // La méthode qui va nous permettre de récupérer l’unique instance de notre singleton.
 // La méthode doit être statique pour être appelé depuis le nom de la classe maClasse.getInstance();
 public static ReportRepository getInstance()
 {
     //lock permet de s’assurer qu’un thread n’entre pas dans une section critique du code pendant qu’un autre thread s’y trouve.
     //Si un autre thread tente d’entrer dans un code verrouillé, il attendra, bloquera, jusqu’à ce que l’objet soit libéré.
     lock (myLock)
     {
         // Si on demande une instance qui n’existe pas, alors on crée notre RessourceManager.
         if (instance == null) instance = new ReportRepository();
         // Dans tous les cas on retourne l’unique instance de notre RessourceManager.
         return instance;
     }
 }