Ejemplo n.º 1
0
        /// //////////////////////////////////////////////////////////////////////////
        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);
        }
Ejemplo n.º 2
0
        /// //////////////////////////////////////////////////////////////////////////
        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);
        }
Ejemplo n.º 3
0
 /// //////////////////////////////////////////////////////////////////////////
 public static void ReleaseGestionnaire(CGestionnaireTransactionsNotification gestionnaire)
 {
     m_tableGestionnairesTransaction.Remove(gestionnaire.IdSession);
 }