internal static void MAJFiche() { Console.WriteLine("\t Mettre a jour une fiche"); Console.WriteLine("\t -----------------------"); Affichage.AfficherFiches(); Console.WriteLine(); Console.Write("Numero de la fiche : "); string numeroStr = Console.ReadLine(); int numero = 0; bool succes = Int32.TryParse(numeroStr, out numero); if ((numero > DAL.repertoireActuel.Length) || (numero <= 0)) { Console.WriteLine("\t**** Numero incorrect ****"); return; } string fiche = DAL.repertoireActuel[numero - 1]; string majFiche = ""; Console.WriteLine("\t Nouvelles données : "); RemplirFicheText(ref majFiche, "Nom : ", ";"); RemplirFicheText(ref majFiche, "Prenom : ", ";"); RemplirFicheNum(ref majFiche, "Téléphone : ", ";"); RemplirFicheNum(ref majFiche, "Code postal : ", ";"); DAL.repertoireActuel[numero - 1] = majFiche; Console.WriteLine(); Console.WriteLine($"\t**** Fiche numero {numero} mise à jour ****"); }
internal static void SupprimerFiche() { Console.WriteLine("\t Supprimer une fiche"); Console.WriteLine("\t --------------------"); Affichage.AfficherFiches(); Console.WriteLine(); Console.Write("Numero de la fiche à supprimer : "); string numeroStr = Console.ReadLine(); int numero = 0; bool succes = Int32.TryParse(numeroStr, out numero); if ((numero - 1 >= DAL.repertoireActuel.Length) || (numero - 1 < 0)) { Console.WriteLine(); Console.WriteLine("\t**** Numero incorrect ****"); Console.WriteLine(); return; } for (int i = numero - 1; i < DAL.repertoireActuel.Length - 1; i++) { DAL.repertoireActuel[i] = DAL.repertoireActuel[i + 1]; } Array.Resize(ref DAL.repertoireActuel, DAL.repertoireActuel.Length - 1); Console.WriteLine(); Console.WriteLine($"\t**** Fiche numero {numero} supprimée ****"); }
internal static void RemplirFicheText(ref string newFiche, string message, string separateur) { string saisie = ""; bool onlychar = false; do { Console.Write(message); saisie = Console.ReadLine(); onlychar = true; for (int i = 0; i < saisie.Length; i++) { if (!char.IsLetter(saisie[i])) { onlychar = false; } } if ((onlychar == false) || (saisie.Length > 15) || (saisie == "")) { Affichage.MessageErreur("Uniquement des lettres, 15 caractères maximum."); } } while ((!onlychar) || (saisie.Length > 15) || (saisie == "")); newFiche += saisie + separateur; }
internal static void RechercheFiche() { Console.WriteLine("\t Rechercher une fiche"); Console.WriteLine("\t ********************"); Console.Write("Valeur à rechercher : "); String recherche = Console.ReadLine(); int[] result = repertoireActuel.Select((x, i) => x.ToLower().Contains(recherche.ToLower()) ? i : -1) .Where(x => x != -1) .ToArray(); Affichage.AfficherFiches(result); }
internal static void RemplirFicheNum(ref string newFiche, string message, string separateur) { Console.Write(message); string result = Console.ReadLine(); long pasUtile; while ((!long.TryParse(result, out pasUtile)) || (result.Length > 15)) { Affichage.MessageErreur("Uniquement des numéros, 15 chiffres maximum."); Console.Write(message); result = Console.ReadLine(); } newFiche += result + separateur; }
static void Main() { bool continuer = true; do { string choixMenu = Affichage.AfficherMenu(); continuer = Affichage.SwitchMenu(choixMenu); }while (continuer); Console.WriteLine(); File.WriteAllLines("repertoire.txt", DAL.repertoireActuel); Console.WriteLine("Mise à jour des données ..."); Console.WriteLine(); Console.WriteLine("Au revoir"); Console.WriteLine(); }
internal static bool SwitchMenu(string choixMenu) { bool continuer = true; switch (choixMenu) { case "1": DAL.CreerFiche(); PressKey(); break; case "2": DAL.RechercheFiche(); PressKey(); break; case "3": DAL.MAJFiche(); PressKey(); break; case "4": DAL.SupprimerFiche(); PressKey(); break; case "5": Affichage.AfficherFiches(); PressKey(); break; case "6": continuer = false; break; default: Console.WriteLine("erreur"); break; } return(continuer); }