private void GestionMatchEntrainement()
 {
     if (!equipe.PlanningPratique.JourLibre(Planning.DateCourante))
     {
         IPratique prat = equipe.PlanningPratique.PratiqueDuJour(Planning.DateCourante);
         if (equipe.PlanningPratique.PratiqueDuJour(Planning.DateCourante).DejaJouer == 0)
         {
             if (prat.PeuJouer(equipe))
             {
                 prat.Joue(equipe);
                 Planning.JourSuivant();
             }
             else
             {
                 Console.WriteLine("L'equipe ne peux pas jouer. \nCes raisons en sont peut être la cause :");
                 Console.WriteLine("\tEntre 5 et 7 joueurs pour un match. (verifier les penalités des joueurs)");
                 Console.WriteLine("\tTout les joueurs doivent être assigné à au moins un poste pour un match.");
                 Console.WriteLine("\tMinimum 6 de vitalite pour un match.");
                 Console.WriteLine("\tMinimum 4 de vitalite pour un Entrainement.");
             }
         }
         else
         {
             Console.WriteLine($"{prat.ToString()} deja été joué.");
         }
     }
     else
     {
         Console.WriteLine("Aucun match ou entrainement prevu pour aujourd'hui.");
     }
 }
Ejemplo n.º 2
0
        public static DateTime compareDate(DateTime[] dates)
        {
            DateTime tmp = dates[0];

            for (int i = 1; i < dates.Length; i++)
            {
                tmp = Planning.compareDate(tmp, dates[i]);
            }
            return(tmp);
        }
Ejemplo n.º 3
0
        public bool EtaientPresentAuDernierEntrainement(Joueur joueur)
        {
            if (ToutePresenceEntrainement.Count == 0)
            {
                return(false);
            }
            DateTime[] dates   = new DateTime[ToutePresenceEntrainement.Count];
            int        counter = 0;

            foreach (DateTime date in ToutePresenceEntrainement.Keys)
            {
                dates[counter] = date;
                counter++;
            }
            return(ToutePresenceEntrainement[Planning.compareDate(dates)].Contains(joueur));
        }
        private void Cmd()
        {
            string cmd = Console.ReadLine();

            string[] cmds = cmd.Split(' ');
            if (Gcommande.CmdExist(cmds[0]))
            {
                switch (cmds.Length) //test du nombre d'argument entré
                {
                case 1:
                    if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.AffichePlan)
                    {
                        Fenetre = 1;
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.AfficheEquipe)
                    {
                        Fenetre = 2;
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.help)
                    {
                        Fenetre = 0;
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.Stop)
                    {
                        ContinueProgramme = false;
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.AjouteJoueur)
                    {
                        equipe.AjouterUnJoueurEquipe(new Joueur());
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.NextDay)
                    {
                        Planning.JourSuivant();
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.Go)
                    {
                        this.GestionMatchEntrainement();
                    }


                    break;

                case 2:
                    if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.SupprimeJoueur)
                    {
                        if (testInt(cmds[1], out int idJo))
                        {
                            if (equipe.SupprimerJoueurEquipe(equipe.ToutLesJoueurs[idJo]))
                            {
                            }
                            else
                            {
                                Console.WriteLine("Joueur inconnu.");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Attention Valeur entière attendue.");
                        }
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.ChNomEquipe)
                    {
                        equipe.NomEquipe = cmds[1];
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.Joueur)
                    {
                        if (testInt(cmds[1], out int idJo))
                        {
                            if (equipe.ToutLesJoueurs.ContainsKey(idJo))
                            {
                                if (equipe.JoueurPasPret(equipe.ToutLesJoueurs[idJo]))
                                {
                                }
                                else
                                {
                                    equipe.JoueurPret(equipe.ToutLesJoueurs[idJo]);
                                }
                            }
                            else
                            {
                                Console.WriteLine("Joueur inconnu.");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Attention Valeur entière attendue.");
                        }
                    }
                    break;

                case 3:
                    if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.PosJoueur)
                    {
                        if (testInt(cmds[1], out int idJo))
                        {
                            if (equipe.ToutLesJoueurs.ContainsKey(idJo))
                            {
                                try
                                {
                                    JoueurIdPos(idJo, cmds[2]);
                                }
                                catch (ArgumentException e) { Console.WriteLine(e.Message); }
                            }
                            else
                            {
                                Console.WriteLine("Joueur inconnu.");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Attention Valeur entière attendue.");
                        }
                    }
                    else if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.AjouteJoueur)
                    {
                        if (testInt(cmds[1], out int vitalite) &&
                            testInt(cmds[1], out int niveau))
                        {
                            equipe.AjouterUnJoueurEquipe(new Joueur(niveau, vitalite));
                        }
                        else
                        {
                            Console.WriteLine("Attention Valeur entière attendue.");
                        }
                    }
                    break;

                case 4:
                    if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.SupprimeDate)
                    {
                        if (testInt(cmds[1], out int annee) &&
                            testInt(cmds[2], out int mois) &&
                            testInt(cmds[3], out int jour))
                        {
                            if (equipe.PlanningPratique.SupprimerDate(new DateTime(annee, mois, jour)))
                            {
                            }
                            else
                            {
                                Console.WriteLine("Date inconnue");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Date invalide.");
                        }
                    }
                    break;

                case 5:

                    if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.AjouteDate)
                    {
                        if (testInt(cmds[1], out int annee) &&
                            testInt(cmds[2], out int mois) &&
                            testInt(cmds[3], out int jour))
                        {
                            try
                            {
                                IPratique pr   = FactPratique.Creer(cmds[4]);
                                DateTime  date = new DateTime(annee, mois, jour);

                                bool existe = !equipe.PlanningPratique.JourLibre(date);
                                if (existe)
                                {
                                    Console.WriteLine("Cette date existe deja, l'ecraser pour la nouvelle ?");
                                    existe = !Confirmation();
                                }
                                if (!existe)
                                {
                                    equipe.PlanningPratique.ajouterDate(pr, date);
                                }
                            }
                            catch (ArgumentException e) { Console.WriteLine(e.Message); }
                        }
                        else
                        {
                            Console.WriteLine("Date invalide.");
                        }
                    }
                    break;

                case 7:

                    if (Gcommande.indexDe(cmds[0]) == (uint)nomCommande.DeplaceDate)
                    {
                        Console.WriteLine("DeplaceDate : ");
                        if (testInt(cmds[1], out int aannee) &&
                            testInt(cmds[2], out int amois) &&
                            testInt(cmds[3], out int ajour) &&
                            testInt(cmds[4], out int nannee) &&
                            testInt(cmds[5], out int nmois) &&
                            testInt(cmds[6], out int njour))
                        {
                            DateTime anciennedate = new DateTime(aannee, amois, ajour);
                            DateTime nouvedate    = new DateTime(nannee, nmois, njour);

                            bool existe = !equipe.PlanningPratique.JourLibre(nouvedate);

                            if (existe)
                            {
                                Console.WriteLine("Cette date est deja prise, deplacer quand même ?");
                                existe = !Confirmation();
                            }
                            if (!existe)
                            {
                                equipe.PlanningPratique.DeplacerDate(anciennedate, nouvedate);
                            }
                        }
                        else
                        {
                            Console.WriteLine("Date invalide.");
                        }
                    }
                    break;
                }
            }
            else
            {
                Console.WriteLine("Cette commande n'existe pas.");
            }
        }