示例#1
0
        //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);
        }
示例#2
0
        //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);
        }
示例#3
0
        //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);
        }