ACR_ServerCommunicator.GameWorldManager.ReferenceServerByName C# (CSharp) Метод

ReferenceServerByName() публичный Метод

Reference the data for a server by the server name. If the data was not yet available, it is retrieved from the database.
public ReferenceServerByName ( string ServerName, IALFADatabase Database ) : GameServer
ServerName string Supplies the object name.
Database IALFADatabase Supplies the database connection to use for /// queries, if required. The active rowset may be consumed.
Результат GameServer
        public GameServer ReferenceServerByName(string ServerName, IALFADatabase Database)
        {
            //
            // Check if the object is already known first.
            //

            GameServer Server = (from S in Servers
                                 where S.ServerName.Equals(ServerName, StringComparison.InvariantCultureIgnoreCase)
                                 select S).FirstOrDefault();

            if (Server != null)
                return Server;

            //
            // Need to pull the data from the database.
            //

            if (Database == null)
                return null;

            Database.ACR_SQLQuery(String.Format(
                "SELECT `ID`, `IPAddress`, `Name`, `IsPublic` FROM `servers` WHERE `Name` = '{0}'",
                Database.ACR_SQLEncodeSpecialChars(ServerName)));

            if (!Database.ACR_SQLFetch())
                return null;

            Server = new GameServer(this);

            Server.ServerId = Convert.ToInt32(Database.ACR_SQLGetData(0));
            Server.SetHostnameAndPort(Database.ACR_SQLGetData(1));
            Server.ServerName = Database.ACR_SQLGetData(2);
            Server.Public = ConvertToBoolean(Database.ACR_SQLGetData(3));

            InsertNewServer(Server, Database);

            return Server;
        }