//----------------------------------------------------------- public CListeEntitesDeMemoryDb <T> GetFils <T>(string strChampId) where T : CEntiteDeMemoryDb { CListeEntitesDeMemoryDb <T> liste = new CListeEntitesDeMemoryDb <T>(m_database, new CFiltreMemoryDb(strChampId + "=@1", Id)); return(liste); }
//------------------------------------------------------------------------------ protected CResultAErreur SerializeChilds <T>(C2iSerializer serializer, string strChampIdDansChild) where T : CEntiteDeMemoryDb { CResultAErreur result = CResultAErreur.True; CListeEntitesDeMemoryDb <T> listeChilds = GetFils <T>(strChampIdDansChild); int nNb = listeChilds.Count(); if (serializer.Mode == ModeSerialisation.Ecriture && Database.IsFullReadEnCours) { nNb = 0; } serializer.TraiteInt(ref nNb); if (nNb > 0) { switch (serializer.Mode) { case ModeSerialisation.Ecriture: foreach (T child in listeChilds) { T childRef = child; result = serializer.TraiteObject <T>(ref childRef); if (!result) { return(result); } } break; case ModeSerialisation.Lecture: for (int nChild = 0; nChild < nNb; nChild++) { T child = null; result = serializer.TraiteObject <T>(ref child, Database); if (!result) { return(result); } } break; } } return(result); }