/// <summary> /// renvoie la liste des adhérents /// </summary> /// <returns></returns> public List <Adherent> ListeAdherent() { List <Adherent> liste_adherents = new List <Adherent>(); StreamReader st2 = new StreamReader(Adherents); string ligne = ""; while (st2.Peek() > 0) { ligne = st2.ReadLine(); string[] mot = ligne.Split(';'); Adherent individu = new Adherent(Convert.ToInt32(mot[0]), mot[1], mot[4], mot[2], mot[3], mot[5]); liste_adherents.Add(individu); } st2.Close(); return(liste_adherents); }
/// <summary> /// permet d'ajouter une personna adhérente ou bénéficiaire /// </summary> public void Ajouterpersonne() { Console.WriteLine("quel type de personne voulez-vous ajouter ?"); int reponse = 0; while (reponse != 1 && reponse != 2) { Console.WriteLine("tapez 1 pour modifier un adhérent"); Console.WriteLine("tapez 2 pour modifier un bénéficiaire"); reponse = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("saisissez son identifiant"); int identifiant = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("saisissez son nom"); string nom = Console.ReadLine(); Console.WriteLine("saisissez son prénom"); string prenom = Console.ReadLine(); Console.WriteLine("saisissez son adresse"); string adresse = Console.ReadLine(); Console.WriteLine("saisissez son numéro de téléphone"); string tel = Console.ReadLine(); if (reponse == 1) { Console.WriteLine("saisissez sa fonction"); string fonction = Console.ReadLine(); Adherent adhe = new Adherent(identifiant, nom, prenom, adresse, tel, fonction); Ecrire(adhe.Tostring2(), Adherents); } else { Console.WriteLine("saisissez sa Date de naissance en jj/mm/aaaa"); DateTime date = Convert.ToDateTime(Console.ReadLine()); Beneficiaire benef = new Beneficiaire(identifiant, nom, prenom, adresse, tel, date); Ecrire(benef.ToString2(), Beneficiaires); } }
/// <summary> /// demande à un adhérent de s'identifier /// </summary> public Adherent Utilisateur() { int retour = -1; int ID; Adherent user = null; while (retour == -1) { int compteur = 0; Console.WriteLine("Quel est votre identifiant d'adhérents?"); ID = Convert.ToInt32(Console.ReadLine()); while (compteur < ListeAdherents.Count) { if (ListeAdherents[compteur].Identifiant == ID)//on trouve la ligne dont l'identifiant est le même { user = new Adherent(ListeAdherents[compteur].Identifiant, ListeAdherents[compteur].Nom, ListeAdherents[compteur].Prenom, ListeAdherents[compteur].Coordonnes, ListeAdherents[compteur].Tel, "Association"); compteur = ListeAdherents.Count; retour++; } compteur++; } } return(user); }
/// <summary> /// permet de modifier les coordonnées d'une personne (adhérente ou bénéficiaire) /// </summary> public void ModifierPersonne() { Console.WriteLine("quel type de personne voulez-vous modifier ?"); int reponse = 0; while (reponse != 1 && reponse != 2) { Console.WriteLine("tapez 1 pour modifier un adhérent"); Console.WriteLine("tapez 2 pour modifier un bénéficiaire"); reponse = Convert.ToInt32(Console.ReadLine()); } string fichier; if (reponse == 1) { fichier = Adherents; List <Adherent> Liste = listes.ListeAdherent(); List <int> NumAdherent = new List <int>(); foreach (Adherent adh in Liste) { NumAdherent.Add(adh.Identifiant); } Liste.ForEach(x => Console.WriteLine(x)); Console.WriteLine("saisissez l'identifiant de l'adhérent que vous souhaitez modifier"); int ID = Convert.ToInt32(Console.ReadLine()); int indice = NumAdherent.IndexOf(ID); while (indice == -1) { Console.WriteLine("identifiant introuvable, ressaisissez le"); ID = Convert.ToInt32(Console.ReadLine()); indice = NumAdherent.IndexOf(ID); } Console.WriteLine("saisissez son nom"); string nom = Console.ReadLine(); Console.WriteLine("saisissez son prénom"); string prenom = Console.ReadLine(); Console.WriteLine("saisissez son adresse"); string adreses = Console.ReadLine(); Console.WriteLine("saisissez son numéro de téléphone"); string tel = Console.ReadLine(); Console.WriteLine("saisissez sa fonction"); string fonction = Console.ReadLine(); Adherent adhe = new Adherent(ID, nom, prenom, adreses, tel, fonction); string ligne = adhe.Tostring2(); int Numligne = chercher(Convert.ToString(ID), Adherents); ModifierLigne(Adherents, Numligne, ligne); } else { fichier = Beneficiaires; List <Beneficiaire> Liste = listes.ListeBenef(); List <int> NumBenef = new List <int>(); foreach (Beneficiaire benef in Liste) { NumBenef.Add(benef.Identifiant); } Liste.ForEach(x => Console.WriteLine(x)); Console.WriteLine("saisissez l'identifiant du bénéficiaire que vous souhaitez modifier"); int ID = Convert.ToInt32(Console.ReadLine()); int indice = NumBenef.IndexOf(ID); while (indice == -1) { Console.WriteLine("identifiant introuvable, ressaisissez le"); ID = Convert.ToInt32(Console.ReadLine()); indice = NumBenef.IndexOf(ID); } Console.WriteLine("saisissez son nom"); string nom = Console.ReadLine(); Console.WriteLine("saisissez son prénom"); string prenom = Console.ReadLine(); Console.WriteLine("saisissez son adresse"); string adreses = Console.ReadLine(); Console.WriteLine("saisissez son numéro de téléphone"); string tel = Console.ReadLine(); Console.WriteLine("saisissez sa date de naissance"); DateTime DateNaissance = Convert.ToDateTime(Console.ReadLine()); int Numligne = chercher(Convert.ToString(ID), Beneficiaires); Beneficiaire benef2 = new Beneficiaire(ID, nom, prenom, adreses, tel, DateNaissance); string ligne = benef2.ToString2(); ModifierLigne(Beneficiaires, Numligne, ligne); } }
/// <summary> /// permet à un adhérent de transférer un don à un bénéficiaire, cela enregistre alors le don dans les archives /// </summary> public void TransfertDonBeneficiaire() { Adherent user = Utilisateur(); Console.WriteLine("où se trouve le don à transférer ?"); int reponse = 0; while (reponse != 1 && reponse != 2 && reponse != 3) { Console.WriteLine("tapez 1 pour le garde-meuble"); Console.WriteLine("tapez 2 pour le depot-vente"); Console.WriteLine("tapez 3 pour l'association"); reponse = Convert.ToInt32(Console.ReadLine()); } if (reponse == 1) { List <Objet_volumineux> Liste = listes.List_Objet_volumineux(GardeMeuble); Liste.ForEach(x => Console.WriteLine(x.Tostring1())); //affiche la liste des dons Console.WriteLine("Saisissez le numéro de référence du don que vous voulez récupérer"); //création d'une liste contenant uniquement les identifiants des objets List <int> NumListe = new List <int>(); foreach (Objet_volumineux obj in Liste) { NumListe.Add(obj.Ref_objet); } int numero = Convert.ToInt32(Console.ReadLine()); int indice = NumListe.IndexOf(numero); //la fonction Indexof permet de vérifier si un élément existe et renvoie dans ce cas son indice dans la liste (renvoie -1 sinon) while (indice == -1) { Console.WriteLine("objet introuvable, ressaisissez son numéro de référence"); numero = Convert.ToInt32(Console.ReadLine()); indice = NumListe.IndexOf(numero); } string objet = ExtraireString(Convert.ToString(numero), GardeMeuble); string[] mots = objet.Split(";"); mots[mots.Length - 1] = Convert.ToString(DateTime.Now); objet = ""; for (int i = 0; i < mots.Length - 1; i++) { objet += mots[i] + ";"; } objet += mots[mots.Length - 1]; int NumLigne = chercher(Convert.ToString(numero), GardeMeuble); Ecrire(objet, archive); SupprimerLigne(GardeMeuble, NumLigne); } if (reponse == 2) { //stockage de tous les dépots ventes dans une liste Liste_Depots_Vente.ForEach(x => Console.WriteLine(x.Tostring2())); List <int> NumListe_Depots_Vente = new List <int>(); foreach (Depot_vente dpv in Liste_Depots_Vente) { NumListe_Depots_Vente.Add(dpv.Identifiant); } //recherche du dépot vente Console.WriteLine("saisissez l'identifiant du dépot de vente où se trouve l'objet que vous souhaitez acheter"); int numero = Convert.ToInt32(Console.ReadLine()); int indice = NumListe_Depots_Vente.IndexOf(numero); while (indice == -1) { Console.WriteLine("depot introuvable, ressaisissez son identifiant"); numero = Convert.ToInt32(Console.ReadLine()); indice = NumListe_Depots_Vente.IndexOf(numero); } //stockage de tous les objets du dépot vente sélectionné dans une liste List <Objet_volumineux> Liste = listes.List_Objet_volumineux(DepotVente); for (int i = 0; i < Liste.Count; i++) { Console.WriteLine("ID : " + Liste[i].LieuStockage.Identifiant); if (Liste[i].LieuStockage.Identifiant != numero) { Liste.RemoveAt(i); i--; } } List <int> NumListe = new List <int>(); foreach (Objet_volumineux obj in Liste) { NumListe.Add(obj.Ref_objet); } //recherche de l'objet à acheter Console.WriteLine("voici les objets disponibles :"); Liste.ForEach(x => Console.WriteLine(x.Tostring1())); Console.WriteLine("saisissez l'identifiant de l'objet que vous souhaitez acheter"); int ID = Convert.ToInt32(Console.ReadLine()); indice = NumListe.IndexOf(ID); while (indice == -1) { Console.WriteLine("objet introuvable, ressaisissez son numéro de référence"); ID = Convert.ToInt32(Console.ReadLine()); indice = NumListe.IndexOf(ID); } //actualisation de la date de vente et archivage string objet = ExtraireString(Convert.ToString(ID), DepotVente); string[] mots = objet.Split(";"); mots[16] = Convert.ToString(DateTime.Now); string objet2 = ""; for (int i = 0; i < mots.Length - 1; i++) { objet2 += mots[i]; objet2 += ";"; } objet2 += mots[mots.Length - 1]; Ecrire(objet2, archive); int Numligne = chercher(Convert.ToString(ID), DepotVente); SupprimerLigne(DepotVente, Numligne); //il faut maintenant actualiser le solde du dépot vente Numligne = chercher(Convert.ToString(numero), ListeDepotsVente); string ligne = ExtraireString(Convert.ToString(numero), ListeDepotsVente); mots = ligne.Split(";"); double solde = Convert.ToDouble(mots[4]) + Liste[indice].Montant; mots[4] = Convert.ToString(solde); ligne = ""; for (int i = 0; i < mots.Length - 1; i++) { ligne += mots[i] + ";"; } ligne += mots[4]; ModifierLigne(ListeDepotsVente, Numligne, ligne); } if (reponse == 3) { List <Objet_volumineux> Liste = listes.List_Objet_volumineux(Association); Liste.ForEach(x => Console.WriteLine(x.Tostring1())); //affiche la liste des dons Console.WriteLine("Saisissez le numéro de référence du don que vous voulez récupérer"); //création d'une liste contenant uniquement les identifiants des objets List <int> NumListe = new List <int>(); foreach (Objet_volumineux obj in Liste) { NumListe.Add(obj.Ref_objet); } int numero = Convert.ToInt32(Console.ReadLine()); int indice = NumListe.IndexOf(numero); //la fonction Indexof permet de vérifier si un élément existe et renvoie dans ce cas son indice dans la liste (renvoie -1 sinon) while (indice == -1) { Console.WriteLine("objet introuvable, ressaisissez son numéro de référence"); numero = Convert.ToInt32(Console.ReadLine()); indice = NumListe.IndexOf(numero); } Couper_coller(Association, archive, Convert.ToString(numero)); } //afficher le fichier des dons non traités de l'association }
/// <summary> /// permet à un adhérent d'accepter (ou refuser) un don non traité et de le stocker au garde meuble, ou dans un dépot vente, ou dans l'association (ou dans les archives pour un don refusé) /// </summary> public void accepterDon() { Adherent user = Utilisateur(); Console.WriteLine("voici la liste des dons non traités"); //afficher le fichier des dons non traités de l'association List <String> lines = File.ReadAllLines(DonsNonTraites).ToList(); foreach (string don in lines) { Console.WriteLine(don); } Console.WriteLine("voulez-vous accepter un don ?"); string reponse = ""; while (reponse != "oui" && reponse != "non") { Console.WriteLine("répondez par oui ou par non"); reponse = Console.ReadLine(); } while (reponse == "oui") { //choisir le don Console.WriteLine("saisissez le numéro de référence du don à saisir"); string NumRef = Console.ReadLine(); string don = ExtraireString(NumRef, DonsNonTraites); string[] mots = don.Split(";"); DateTime date = Convert.ToDateTime(mots[1]); string Type = mots[2]; string NomDonateur = mots[3]; string NumTel = mots[4]; string adresse = mots[5]; string description = mots[6]; mots[7] = Convert.ToString(true); bool accepte = Convert.ToBoolean(mots[7]); //demander où stocker le don int lieu = 0; Console.WriteLine("où voulez-vous stocker le don ?"); while (lieu < 1 || lieu > 3) { Console.WriteLine("tapez 1 pour le garde-meuble"); Console.WriteLine("tapez 2 pour le dépot-vente"); Console.WriteLine("tapez 3 pour l'association"); lieu = Convert.ToInt32(Console.ReadLine()); } DateTime DateDepot = DateTime.Now; if (lieu == 1) { TransfertGardeMeuble(mots); } if (lieu == 2) { TransfertDepotVente(mots); } if (lieu == 3) { Couper_coller(DonsNonTraites, Association, NumRef); string ligne = ExtraireString(NumRef, Association); string[] mots2 = ligne.Split(";"); mots2[7] = Convert.ToString(true); ligne = ""; for (int i = 0; i < mots2.Length - 1; i++) { ligne += mots[i] + ";"; } ligne += mots2[mots2.Length - 1]; int Numligne = chercher(NumRef, Association); ModifierLigne(Association, Numligne, ligne); } reponse = ""; Console.WriteLine("voulez-vous accepter un autre don ?"); while (reponse != "oui" && reponse != "non") { Console.WriteLine("répondez par oui ou par non"); reponse = Console.ReadLine(); } } Console.WriteLine("voulez-vous refuser un don"); string reponse2 = ""; while (reponse2 != "oui" && reponse2 != "non") { Console.WriteLine("répondez par oui ou par non"); reponse2 = Console.ReadLine(); } while (reponse2 == "oui") { Console.WriteLine("saisissez le numéro de référence du don à refuser"); string NumRef = Console.ReadLine(); string don = ExtraireString(NumRef, DonsNonTraites); string[] mots = don.Split(";"); mots[7] = Convert.ToString(false); string LigneDon2 = ""; for (int i = 0; i < mots.Length; i++) { LigneDon2 += mots[i]; LigneDon2 += ";"; } LigneDon2 += DateTime.Now; Ecrire(LigneDon2, archive); int NumLigne = chercher(mots[0], DonsNonTraites); SupprimerLigne(DonsNonTraites, NumLigne); reponse2 = ""; Console.WriteLine("voulez-vous refuser un autre don ?"); while (reponse2 != "oui" && reponse2 != "non") { Console.WriteLine("répondez par oui ou par non"); reponse2 = Console.ReadLine(); } } }