コード例 #1
0
        /// <summary>
        /// renvoie la liste principales categories d'objets en stock (le nombre de categories à afficher est saisi par l'utilisateur)
        /// </summary>
        public List <string> CategoriesPrincipales(int nombre)
        {
            List <Objet_volumineux>         Liste1 = listes.List_Objet_volumineux(GardeMeuble);
            List <Objet_volumineux>         Liste2 = listes.List_Objet_volumineux(DepotVente);
            List <Objet_volumineux>         Liste3 = listes.List_Objet_volumineux(Association);
            List <List <Objet_volumineux> > Listes = new List <List <Objet_volumineux> >();

            Listes.Add(Liste1);
            Listes.Add(Liste2);
            Listes.Add(Liste3);
            List <Objet_volumineux> Liste = listes.Addition(Listes);

            List <string> Categories = new List <string>();

            foreach (Objet_volumineux objet in Liste)
            {
                if (!Doublon(objet.Type_materiel, Categories))
                {
                    Categories.Add(objet.Type_materiel);
                }
            }
            List <int> CoeffCategories = new List <int>();

            for (int i = 0; i < Categories.Count; i++)
            {
                CoeffCategories.Add(0);
                foreach (Objet_volumineux objet in Liste)
                {
                    if (objet.Type_materiel == Categories[i])
                    {
                        CoeffCategories[i]++;
                    }
                }
            }
            int indiceMin = -1;

            while (Categories.Count > nombre)
            {
                indiceMin = IndideMin(CoeffCategories);
                CoeffCategories.RemoveAt(indiceMin);
                Categories.RemoveAt(indiceMin);
            }
            return(Categories);
        }
コード例 #2
0
        /// <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
        }
コード例 #3
0
 public List <Objet_volumineux> List_Objet_volumineux(string fichier)
 {
     return(listes.List_Objet_volumineux(fichier));
 }