public void lireFichier(String nomFichier) { StreamReader sr = null; try { if (File.Exists(nomFichier)) { sr = File.OpenText(nomFichier); String ligne; while (!sr.EndOfStream) { ligne = sr.ReadLine(); string[] data = ligne.Split(new Char[] {';'}); if (data[8].Equals("")) { ClientNonAbonne nab; nab = new ClientNonAbonne(); nab.nom = data[0]; nab.prenom = data[1]; nab.mail = data[2]; nab.tel = data[3]; nab.numCB = data[4]; nab.cvc = int.Parse(data[5]); nab.dateValide =DateTime.Parse( data[6]); ajouterClient(nab); } else { ClientAbonne ab; ab = new ClientAbonne(); ab.nom = data[0]; ab.prenom = data[1]; ab.mail = data[2]; ab.tel = data[3]; ab.solde =double.Parse(data[7]); ab.anneeAbonnement = int.Parse(data[8]); ajouterClient(ab); } } } } catch (Exception e) { //En cas de problème d'accès au fichier Console.WriteLine(e.Message); Console.WriteLine("Problème de lecture du fichier."); Console.WriteLine("Appuyez sur une touche pour continuer..."); Console.ReadKey(); } finally { //Dans tous les cas if (sr != null) sr.Close(); } }
/// <summary> /// Ajouter/Modifier un client /// </summary> /// <param name="s"></param> private static char enterClient(Client c=null) { char choix = '\u0000'; //unicode de null string _nom=null; string _prenom=null; string _tel=null; string _mail=null; char _reponse; //pour un abonné string _anneeA=null; string _solde=null; //pour un non abonné string _numCB=null; string _dateValide=null; string _cvc=null; bool ajout = false; bool abonne = false; do { Console.Clear(); if (c == null) ajout = true; if (ajout) { //ici, on crée un nouveau client Console.WriteLine(Environment.NewLine); Console.WriteLine("--- Nouveau client ---"); Console.WriteLine(Environment.NewLine); /* * saisir les informations */ Console.Write("Nom : "); _nom = Console.ReadLine(); Console.Write("Prenom : "); _prenom = Console.ReadLine(); Console.Write("Telephone : "); _tel = Console.ReadLine(); Console.Write("Mail : "); _mail = Console.ReadLine(); do { Console.WriteLine(Environment.NewLine); Console.Write("Abonné (O/N) : "); _reponse = Console.ReadKey().KeyChar; } while (_reponse != 'o' && _reponse != 'O' && _reponse != 'n' && _reponse != 'N'); switch (_reponse) { case 'o': case 'O': abonne = true; Console.Write("Année abonnement : "); _anneeA = Console.ReadLine(); Console.Write("Solde : "); _solde = Console.ReadLine(); break; case 'n': case 'N' : abonne = false; Console.Write("N° CB : "); _numCB = Console.ReadLine(); Console.Write("Expire fin (JJ/MM/YYYY) : "); _dateValide = Console.ReadLine(); Console.Write("Cryptogramme (3 chiffres) : "); _cvc = Console.ReadLine(); break; } Console.WriteLine(Environment.NewLine); } else { //ici, on modifie un client existant //ici, on crée un nouveau client Console.WriteLine(Environment.NewLine); Console.WriteLine("--- Modification client ---"); Console.WriteLine(Environment.NewLine); /* * saisir les informations */ Console.Write("Nom ({0}) : ", c.nom); _nom = Console.ReadLine(); Console.Write("Prenom ({0}) : ", c.prenom); _prenom = Console.ReadLine(); Console.Write("Telephone ({0}) : ", c.tel); _tel = Console.ReadLine(); Console.Write("Mail ({0}) : ", c.mail); _mail = Console.ReadLine(); if (c is ClientAbonne) { abonne = true; Console.Write("Année abonnement ({0}) : ",((ClientAbonne)c).anneeAbonnement); _anneeA = Console.ReadLine(); Console.Write("Solde ({0}): ",((ClientAbonne)c).solde); _solde = Console.ReadLine(); } else { abonne = false; Console.Write("N° CB ({0}) : ", ((ClientNonAbonne)c).numCB); _numCB = Console.ReadLine(); Console.Write("Expire fin (JJ/MM/YYYY)({0}) : ", ((ClientNonAbonne)c).dateValide); _dateValide = Console.ReadLine(); Console.Write("Cryptogramme (3 chiffres) : ", ((ClientNonAbonne)c).cvc); _cvc = Console.ReadLine(); } Console.WriteLine(Environment.NewLine); } Console.WriteLine("V. valider - P. Retour menu principal"); choix = Console.ReadKey().KeyChar; switch (choix) { case 'v': case 'V': try { if (ajout) { if (abonne) { //ici, on crée un nouvel abonne ClientAbonne ca = new ClientAbonne(); ca.nom = _nom; ca.prenom = _prenom; ca.tel = _tel; ca.mail = _mail; ca.anneeAbonnement = int.Parse(_anneeA); ca.solde = double.Parse(_solde); //ajout de l'abonné à la liste des clients fc.clients.Add(ca); } else { //ici, on crée un nouvel non abonné ClientNonAbonne cna = new ClientNonAbonne(); cna.nom = _nom; cna.prenom = _prenom; cna.tel = _tel; cna.mail = _mail; cna.numCB = _numCB; cna.dateValide = DateTime.Parse(_dateValide); cna.cvc = int.Parse(_cvc); //ajout du non abonné à la liste des clients fc.clients.Add(cna); } } else { if (abonne) { //ici, on modifie un abonné ClientAbonne ca = (ClientAbonne)c; ca.nom = (_nom == null ? ca.nom:_nom); ca.prenom = (_prenom == null ? ca.prenom : _prenom); ca.tel = (_tel == null ? ca.tel:_tel); ca.mail = (_mail == null ? ca.mail:_mail); ca.anneeAbonnement = (_anneeA == null ? ca.anneeAbonnement:int.Parse(_anneeA)); ca.solde = (_solde == null ? ca.solde : double.Parse(_solde)); } else { //ici, on modifie un non abonné ClientNonAbonne cna = (ClientNonAbonne)c; cna.nom = (_nom == null ? cna.nom : _nom); cna.prenom = (_prenom == null ? cna.prenom : _prenom); cna.tel = (_tel == null ? cna.tel : _tel); cna.mail = (_mail == null ? cna.mail : _mail); cna.numCB = (_numCB==null ? cna.numCB:_numCB); cna.dateValide = (_dateValide==null ? cna.dateValide : DateTime.Parse(_dateValide)); cna.cvc = (_cvc==null ? cna.cvc : int.Parse(_cvc)); } } } catch (Exception) { Console.WriteLine("Erreur lors de la création/modification du client."); } break; } } while (choix != 'p' && choix != 'P' && choix != 'v' && choix != 'V'); return choix; }