//--------------------------------------------------------------------------------- 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); } } } } }