/// <summary>
            ///Test pour FillInventaireNonRecursif, retourne la liste de l'inventaire
            ///</summary>
            public void FillInventaireNonRecursifTestHelper <TypeRecherche>(object objAInventorier)
            {
                CFournisseurInventaireObjetGenerique <TypeRecherche> fournisseur = new CFournisseurInventaireObjetGenerique <TypeRecherche>(); // TODO : initialisez à une valeur appropriée

                //object obj = null; ; // TODO : initialisez à une valeur appropriée

                m_inventaire = new CInventaire();
                fournisseur.FillInventaireNonRecursif(objAInventorier, m_inventaire);

                m_listeResultInventaire     = new List <object>(m_inventaire.GetObjects(false));
                m_listeResultHorsInventaire = new List <object>(m_inventaire.GetObjects(true));
            }
        //---------------------------------------------------------------------------------
        public void FillInventaireNonRecursif(object obj, CInventaire inventaire)
        {
            CObjetDonnee objetDonnee = obj as CObjetDonnee;

            if (objetDonnee != null)
            {
                CStructureTable structure = CStructureTable.GetStructure(objetDonnee.GetType());
                if ((m_mode & EModeInventaireObjetDonneeLies.TousLesFils) != EModeInventaireObjetDonneeLies.Aucuns)
                {
                    foreach (CInfoRelation relation in structure.RelationsFilles)
                    {
                        if (relation.Composition || (m_mode & EModeInventaireObjetDonneeLies.FilsCompositions) != EModeInventaireObjetDonneeLies.FilsCompositions)
                        {
                            CListeObjetsDonnees lst = objetDonnee.GetDependancesListe(relation.TableFille, relation.ChampsFille);
                            foreach (CObjetDonnee fille in lst)
                            {
                                inventaire.AddObject(fille);
                            }
                        }
                    }
                }
                if ((m_mode & EModeInventaireObjetDonneeLies.Parents) == EModeInventaireObjetDonneeLies.Parents)
                {
                    foreach (CInfoRelation relation in structure.RelationsParentes)
                    {
                        CObjetDonnee parent = objetDonnee.GetParent(relation.ChampsFille, CContexteDonnee.GetTypeForTable(relation.TableParente));
                        if (parent != null)
                        {
                            inventaire.AddObject(parent);
                        }
                    }
                }
                foreach (IFournisseurInventaireObjetDonneeLies fournisseur in m_listeFournisseursSupplementaires)
                {
                    fournisseur.FillInventaireNonRecursif(objetDonnee, inventaire, m_mode);
                }
            }
            else
            {
                if (obj is IUtilisateurObjetsDonnee)
                {
                    CResultAErreur result = ((IUtilisateurObjetsDonnee)obj).GetObjetsUtilises(m_contexte);
                    if (result)
                    {
                        foreach (CObjetDonnee objet in (CObjetDonnee[])result.Data)
                        {
                            inventaire.AddObject(objet);
                        }
                    }
                }
            }
        }