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."); } }
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."); } }