//----------------------------------------- /// <summary> /// Déclenche l'évenement AFTER_SYNC_ON_MAIN sur les objets qui implémentent cet /// évenement et qui ont été modifiés ou ajoutés dans le contexte de données /// </summary> /// <param name="contexteDonnee"></param> /// <returns></returns> public CResultAErreur DeclencheEvenementAfterSyncOnMain(CContexteDonnee contexteDonnee) { CResultAErreur result = CResultAErreur.True; foreach (DataTable table in new ArrayList(contexteDonnee.Tables)) { Type tp = CContexteDonnee.GetTypeForTable(table.TableName); object[] evtsAtt = tp.GetCustomAttributes(typeof(EvenementAttribute), true); if (evtsAtt.Length > 0) { bool bHasEvt = false; foreach (EvenementAttribute att in evtsAtt) { if (att.Identifiant == CUtilSynchronisation.c_strEvenementAfterSyncSurMain) { bHasEvt = true; break; } } if (bHasEvt) { foreach (DataRow row in table.Rows) { if (row.RowState == DataRowState.Added || row.RowState == DataRowState.Modified) { CObjetDonneeAIdNumerique obj = Activator.CreateInstance(tp, row) as CObjetDonneeAIdNumerique; if (obj != null) { obj.EnregistreEvenement(CUtilSynchronisation.c_strEvenementAfterSyncSurMain, false); } } } } } } return(result); }