/**
  * Récupérer la structure des catégories, poules et participants
  *
  * @return structure des catégories, poules et participants
  */
 public ArrayList<
         Pair<
             InfosModelCategorie,
             ArrayList<Pair<InfosModelPoule, ArrayList<InfosModelParticipant>>>>>
     getListeCategoriesPoulesParticipants() {
   return FrontModel.get().getFrontModelParticipants().getListeCategoriesPoulesParticipants();
 }
 /**
  * Mettre à jour les catégories
  *
  * @param categories informations sur les catégories
  */
 public void updateCategories(TrackableList<InfosModelCategorie> categories) {
   try {
     FrontModel.get().getFrontModelParticipants().updateCategories(categories);
   } catch (Exception e) {
     ContestOrg.get().erreur("Erreur lors de la modification des catégories", e);
   }
 }
 /**
  * Supprimer une liste de participants
  *
  * @param nomParticipants noms des participants
  */
 public void removeParticipants(ArrayList<String> nomParticipants) {
   try {
     FrontModel.get().getFrontModelParticipants().removeParticipants(nomParticipants);
   } catch (ContestOrgWarningException e) {
     ViewHelper.derror(ContestOrg.get().getFenetrePrincipale(), e.getMessage());
   } catch (ContestOrgErrorException e) {
     ContestOrg.get().erreur("Erreur lors de la modification de plusieurs participants", e);
   }
 }
 /**
  * Récupérer les informations d'un participant
  *
  * @param nomParticipant nom du participant
  * @return informations du participant
  */
 public Quintuple<
         String,
         String,
         InfosModelParticipant,
         ArrayList<Pair<String, InfosModelProprietePossedee>>,
         ArrayList<String>>
     getInfosParticipant(String nomParticipant) {
   return FrontModel.get().getFrontModelParticipants().getInfosParticipant(nomParticipant);
 }
 /**
  * Supprimer un participant
  *
  * @param nomParticipant nom du participant
  */
 public void removeParticipant(String nomParticipant) {
   try {
     FrontModel.get().getFrontModelParticipants().removeParticipant(nomParticipant);
   } catch (ContestOrgWarningException e) {
     ViewHelper.derror(ContestOrg.get().getFenetrePrincipale(), e.getMessage());
   } catch (ContestOrgErrorException e) {
     ContestOrg.get().erreur("Erreur lors de la modification d'un participant", e);
   }
 }
 /**
  * Mettre à jour les poules
  *
  * @param categoriesPoules informations sur les poules
  */
 public void updatePoules(
     ArrayList<Pair<String, TrackableList<Pair<InfosModelPoule, ArrayList<String>>>>>
         categoriesPoules) {
   try {
     FrontModel.get().getFrontModelParticipants().updatePoules(categoriesPoules);
   } catch (Exception e) {
     ContestOrg.get().erreur("Erreur lors de la modification des poules des catégories", e);
   }
 }
 /**
  * Ajouter un participant
  *
  * @param infos informations du participant
  */
 public void addParticipant(
     Quintuple<
             String,
             String,
             InfosModelParticipant,
             TrackableList<Pair<String, InfosModelProprietePossedee>>,
             TrackableList<String>>
         infos) {
   try {
     FrontModel.get().getFrontModelParticipants().addParticipant(infos);
   } catch (Exception e) {
     ContestOrg.get().erreur("Erreur lors de la création d'un participant", e);
   }
 }
 /**
  * Modifier un participant
  *
  * @param nomParticipant nom du participant
  * @param infos nouvelles informations du participant
  */
 public void updateParticipant(
     String nomParticipant,
     Quintuple<
             String,
             String,
             InfosModelParticipant,
             TrackableList<Pair<String, InfosModelProprietePossedee>>,
             TrackableList<String>>
         infos) {
   try {
     FrontModel.get().getFrontModelParticipants().updateParticipant(nomParticipant, infos);
   } catch (Exception e) {
     ContestOrg.get().erreur("Erreur lors de la modification d'un participant", e);
   }
 }
 /**
  * Récupérer la liste des prix
  *
  * @return liste des prix
  */
 public ArrayList<InfosModelPrix> getListePrix() {
   return FrontModel.get().getFrontModelConfiguration().getListePrix();
 }
 /**
  * Savoir si le statut "homologué" est activé
  *
  * @return statut "homologué" activé ?
  */
 public boolean isStatutHomologueActive() {
   return FrontModel.get().getConcours().isStatutHomologueActive();
 }
 /**
  * Récupérer le TableModel des participants d'une poule donnée d'une catégorie donnée
  *
  * @param nomCategorie nom de la catégorie
  * @param nomPoule nom de la poule
  * @return TableModel des participants de la poule de la catégorie
  */
 public IClosableTableModel getTableModelParticipants(String nomCategorie, String nomPoule) {
   return FrontModel.get()
       .getFrontModelParticipants()
       .getTableModelParticipants(nomCategorie, nomPoule);
 }
 /**
  * Récupérer le type des participants
  *
  * @return type des participants
  */
 public int getTypeParticipants() {
   return FrontModel.get().getConcours().getTypeParticipants();
 }
 /**
  * Récupérer le TableModel des participants
  *
  * @return TableModel des participants
  */
 public IClosableTableModel getTableModelParticipants() {
   return FrontModel.get().getFrontModelParticipants().getTableModelParticipants();
 }
 /**
  * Récupérer le TreeModel des poules
  *
  * @return TreeModel des poules
  */
 public TreeModel getTreeModelPoules() {
   return FrontModel.get().getFrontModelParticipants().getTreeModelPoules();
 }
 /**
  * Vérifier si une catégorie existe
  *
  * @param nomCategorie nom de la catégorie
  * @return la catégorie ?
  */
 public boolean isCategorieExiste(String nomCategorie) {
   return FrontModel.get().getFrontModelParticipants().isCategorieExiste(nomCategorie);
 }
 /**
  * Récupérer la liste des catégories
  *
  * @return liste des catégories
  */
 public ArrayList<InfosModelCategorie> getListeCategories() {
   return FrontModel.get().getFrontModelParticipants().getListeCategories();
 }
 /**
  * Récupérer le nombre de participants
  *
  * @return nombre de participants
  */
 public int getNbParticipants() {
   return FrontModel.get().getFrontModelParticipants().getNbParticipants();
 }
 /**
  * Modifier le statut d'une liste de participants
  *
  * @param nomParticipants noms des participants
  * @param statut nouveau statut des participants
  */
 public void updateParticipants(
     ArrayList<String> nomParticipants, InfosModelParticipant.Statut statut) {
   FrontModel.get().getFrontModelParticipants().updateParticipants(nomParticipants, statut);
 }
 /**
  * Modifier le statut d'un participant
  *
  * @param nomParticipant nom du participant
  * @param statut nouveau statut du participant
  */
 public void updateParticipant(String nomParticipant, InfosModelParticipant.Statut statut) {
   FrontModel.get().getFrontModelParticipants().updateParticipant(nomParticipant, statut);
 }
 /**
  * Vérifier si un participant existe
  *
  * @param nomParticipant nom du participant
  * @return participant existant ?
  */
 public boolean isParticipantExiste(String nomParticipant) {
   return FrontModel.get().getFrontModelParticipants().isParticipantExiste(nomParticipant);
 }
 /**
  * Récupérer la liste des poules d'une catégorie donnée
  *
  * @param nomCategorie nom de la catégorie
  * @return liste des poules de la catégorie
  */
 public ArrayList<InfosModelPoule> getListePoules(String nomCategorie) {
   return FrontModel.get().getFrontModelParticipants().getListePoules(nomCategorie);
 }
 /** Autoriser la mise à jour automatique de la ressource */
 public void setAutoRefresh() {
   // Ecouter l'historique
   FrontModel.get().getHistory().addListener(this);
 }
 /**
  * Récupérer le nombre de participants d'une catégorie
  *
  * @param nomCategorie nom de la catégorie
  * @return nombre de participants de la catégorie
  */
 public int getNbParticipants(String nomCategorie) {
   return FrontModel.get().getFrontModelParticipants().getNbParticipants(nomCategorie);
 }