//Get the Clients for all Satellites public List <Core.Objects.Client> GetClients(List <Objects.SatelliteConnection> SatelliteConnectionDetails) { List <Core.Objects.Client> Clients = new List <Objects.Client>(); SatelliteConnectionDetails.ForEach(ConnectionDetails => { try { //Get the name of the Environment where the connetion is string Environment = ConnectionDetails.GetSatelliteManager().Environment; SatelliteClient[] SC = ConnectionDetails.GetSatelliteManager().ClientList; foreach (SatelliteClient Client in SC) { //Remap to my new object Clients.Add(new Core.Objects.Client { HostIP = Client.HostIP, UserId = Client.UserId, HostName = Client.HostName, LastActivity = Client.LastActivity, SesstionID = Client.SessionId, Environment = Environment, SatelliteConnection = ConnectionDetails }); } } catch { } }); return(Clients); }
//Get the locks for all Satellites public List <Objects.SystemLock> GetLocks(List <Objects.SatelliteConnection> SatelliteConnectionDetails) { List <Objects.SystemLock> SystemLocks = new List <Objects.SystemLock>(); SatelliteConnectionDetails.ForEach(ConnectionDetails => { try { //Get the name of the Environment where the connetion is string Environment = ConnectionDetails.GetSatelliteManager().Environment; List <LockObject> lockObjects = ConnectionDetails.GetSatelliteManager().GetCurrentLocks(); foreach (LockObject Lock in lockObjects) { //Remap to my new object SystemLocks.Add(new Objects.SystemLock() { User = Lock.User, LockID = Lock.LockId, DateTime = Lock.DateTime, Environment = Environment, SatelliteConnection = ConnectionDetails }); } } catch { } }); return(SystemLocks); }
//Get the Active Connections for all Satellites public List <Objects.ActiveConnection> GetActiveConnections(List <Objects.SatelliteConnection> SatelliteConnectionDetails) { List <Objects.ActiveConnection> ActiveConnections = new List <Objects.ActiveConnection>(); SatelliteConnectionDetails.ForEach(ConnectionDetails => { try { //Get the name of the Environment where the connetion is string Environment = ConnectionDetails.GetSatelliteManager().Environment; SatelliteConnection[] connList = ConnectionDetails.GetSatelliteManager().ConnectionList; if (connList != null) { //Go over all the connections foreach (SatelliteConnection conn2 in connList) { //If the connection has been marked as kill, continue if (conn2.ConnectionState == SatelliteConnectionState.Kill) { continue; } //See if there was any subroutine aka function that the user was doing string subroutine = string.Empty; if (conn2.Request.Data.ContainsKey("subroutine")) { subroutine = conn2.Request.Data["subroutine"].ToString(); } //Remap to my new object Objects.ActiveConnection ActiveConnection = new Objects.ActiveConnection() { ConnectionId = conn2.ConnectionId, ConnectionLastMonitored = conn2.ConnectionLastMonitored, ConnectionState = conn2.ConnectionState.ToString(), ConnectionUser = conn2.ConnectionUser, LastRequestStarted = conn2.LastRequestStarted, LastRequestSubroutine = conn2.LastRequestSubroutine, ProcessId = conn2.ProcessId, RequestSessionId = conn2.RequestSessionId, RequestStarted = conn2.RequestStarted, RequestSubroutine = conn2.RequestSubroutine, RequestUserId = conn2.RequestUserId, Subroutine = subroutine, Environment = Environment, SatelliteConnection = ConnectionDetails }; ActiveConnections.Add(ActiveConnection); } } } catch (Exception e) { } }); return(ActiveConnections); }