/////////////////////////////////////////////// public static CSessionClient GetSessionForIdSession(int nIdSession) { CSessionClient session = (CSessionClient)m_tableSessionParId[nIdSession]; if (session != null) { return(session); } IGestionnaireSessions gestionnaire = GestionnaireSessions; session = gestionnaire.GetSessionClient(nIdSession); m_tableSessionParId[nIdSession] = session; return(session); }
private void FillListeConnectes() { IGestionnaireSessions gestionnaire = (IGestionnaireSessions)C2iFactory.GetNewObject(typeof(IGestionnaireSessions)); int[] listeIdSessions = gestionnaire.GetListeIdSessionsConnectees(); string strNomGestionnaire = gestionnaire.GetType().ToString(); m_listView.Items.Clear(); foreach (int nId in listeIdSessions) { ListViewItem item = new ListViewItem(); item.Tag = nId; while (item.SubItems.Count < m_listView.Columns.Count) { item.SubItems.Add(""); } item.SubItems[colIdSession.Index].Text = nId.ToString(); IInfoSession session = gestionnaire.GetSessionClient(nId); try { session.GetInfoUtilisateur(); } catch { session = gestionnaire.GetSessionClientSurServeur(nId); item.BackColor = Color.Red; session = gestionnaire.GetSessionClientSurServeur(nId); } if (session == null) { item.BackColor = Color.Red; session = gestionnaire.GetSessionClientSurServeur(nId); item.SubItems[colNom.Index].Text = "#ERREUR ACCES"; } try { item.SubItems[colNom.Index].Text = session.GetInfoUtilisateur().NomUtilisateur; item.SubItems[colAppli.Index].Text = session.DescriptionApplicationCliente; item.SubItems[colType.Index].Text = session.TypeApplicationCliente.ToString(); DateTime dt = session.DateHeureConnexion; TimeSpan span = DateTime.Now - dt; string strChaine = ""; if (span.TotalDays > 1) { strChaine = ((int)span.TotalDays).ToString() + "j"; } if (span.TotalHours > 0) { strChaine += ((int)(span.TotalHours % 24)).ToString() + "h"; } strChaine += ((int)(span.TotalMinutes % 60)).ToString() + "m"; item.SubItems[colHeure.Index].Text = strChaine; string strKeyUtilisateur = ""; if (session.GetInfoUtilisateur().KeyUtilisateur != null) { strKeyUtilisateur = session.GetInfoUtilisateur().KeyUtilisateur.StringValue; item.SubItems[colIdUser.Index].Text = strKeyUtilisateur; CContexteDonnee ctx = new CContexteDonnee(session.IdSession, true, false); CDonneesActeurUtilisateur user = CUtilSession.GetUserForSession(ctx); if (user != null) { CListeObjetsDonnees lstEtapesPourActeur = user.Acteur.GetEtapeWorkflowsEnCours(); int nbTodo = lstEtapesPourActeur.Count; item.SubItems[colNbToDo.Index].Text = nbTodo.ToString(); } } } catch { if (nId == 0) { item.SubItems[colNom.Index].Text = "SERVEUR"; } else { item.BackColor = Color.Red; item.SubItems[colNom.Index].Text = "#ERREUR ACCES#"; } } if (nId == CSessionClient.GetSessionUnique().IdSession) { item.BackColor = Color.LightGreen; } m_listView.Items.Add(item); } }