예제 #1
0
        public int Run(IGestionaireCollectifs gestionaireCollectifs, IGestionaireJoueurs gestionaireJoueurs)
        {
            var createurCollectif = gestionaireCollectifs.ObtenirCreateurDeCollectif();


            try
            {
                createurCollectif
                .DontLeNomEst(Nom);

                if (Categories != null)
                {
                    createurCollectif
                    .DontLesCategoriesSont(Categories.Select(c => Conversions.StringVersCategorie(c)));
                }

                if (Membres != null)
                {
                    var joueurs = new List <Joueur>();
                    foreach (var m in Membres)
                    {
                        var filtreJoueur = gestionaireJoueurs.ObtenirFiltreDeJoueur();
                        var joueur       = filtreJoueur.FiltrerParLicense(int.Parse(m)).OrdonnerParDefaut();
                        if (joueur.Count() == 0)
                        {
                            Console.WriteLine("La license " + m + " n'existe pas. Le joueur n'a pas été ajouteé");
                        }
                        else
                        {
                            joueurs.Add(joueur.First());
                        }
                    }
                    createurCollectif
                    .DontLesMembresSont(joueurs);
                }

                createurCollectif.Creer();

                return(0);
            }
            catch (CLIExcepetion e)
            {
                Console.WriteLine(e.Message);
                return(1);
            }
            catch (DuplicationException e)
            {
                Console.WriteLine("Un collectif porte deja ce nom");
                return(1);
            }
            catch (ElementNonExistantException e)
            {
                Console.WriteLine(e);
                return(1);
            }
        }
예제 #2
0
 public int Parse(string[] args)
 {
     return
         (Parser
          .Default
          .ParseArguments <
              CreerCollectif,
              ModifierContactJoueur,
              AjouterPersonnel,
              ListerClubs,
              ListerJoueurs,
              SynchroniserParCSV,
              ImporterCompetition>(args)
          .MapResult(
              (CreerCollectif cmd) => cmd.Run(gestionaireCollectifs, gestionaireJoueurs),
              (ModifierContactJoueur cmd) => cmd.Run(gestionaireJoueurs),
              (AjouterPersonnel cmd) => cmd.Run(gestionaireClubs),
              (ListerClubs cmd) => cmd.Run(gestionaireClubs.ObtenirFiltreDeClub()),
              (ListerJoueurs cmd) => cmd.Run(gestionaireJoueurs.ObtenirFiltreDeJoueur()),
              (SynchroniserParCSV cmd) => cmd.Run((AccesseurPoonaParFichierCSV)accesseurPoona, gestionaireClubs, gestionaireJoueurs),
              (ImporterCompetition cmd) => cmd.Run((importeurCompetition)),
              errs => 1));
 }