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