/// ////////////////////////////////////////////////////////////////////////// public void EnvoieNotifications(IDonneeNotification[] donnees) { if (donnees.Length == 0) { return; } //STEF 03102008 : Utilise la fonction GetGestionnaireTransactions CGestionnaireTransactionsNotification gestionnaire = GetGestionnaireTransaction(donnees[0].IdSessionEnvoyeur); gestionnaire.EnvoieNotifications(donnees); }
/// ////////////////////////////////////////////////////////////////////////// internal static CGestionnaireTransactionsNotification GetGestionnaireTransaction(int nIdSession) { CGestionnaireTransactionsNotification gestionnaire = (CGestionnaireTransactionsNotification)m_tableGestionnairesTransaction[nIdSession]; if (gestionnaire == null) { //Stef, le 03102008, gestion des sous sessions CSousSessionClient sousSession = CSessionClient.GetSessionForIdSession(nIdSession) as CSousSessionClient; if (sousSession != null) //C'est une sous session, donc utilise le gestionnaire de transactions de sa session principale { gestionnaire = GetGestionnaireTransaction(sousSession.RootSession.IdSession); //Ne stocke pas dans le cache, car //le gestionnaire n'est pas attaché à la sous session, //donc, il ne sera pas supprimé par le OnCloseSession //m_tableGestionnairesTransaction[nIdSession] = gestionnaire; } else { gestionnaire = new CGestionnaireTransactionsNotification(nIdSession); m_tableGestionnairesTransaction[nIdSession] = gestionnaire; } } return(gestionnaire); }
/// ////////////////////////////////////////////////////////////////////////// public static void ReleaseGestionnaire(CGestionnaireTransactionsNotification gestionnaire) { m_tableGestionnairesTransaction.Remove(gestionnaire.IdSession); }