ALFAIRCBot.ALFAIRCBot.OnCommandSeen C# (CSharp) Метод

OnCommandSeen() приватный Метод

private OnCommandSeen ( string Source, string Query ) : void
Source string
Query string
Результат void
        private void OnCommandSeen(string Source, string Query)
        {
            try
            {
                string PlayerName = null;
                string LoginDate = null;

                using (MySqlDataReader Reader = ExecuteQuery(String.Format(
                    "SELECT " +
                        "players.Name AS player_name, " +
                        "players.LastLogin AS player_last_login " +
                    "FROM " +
                        "players " +
                    "WHERE players.Name = '{0}' ", MySqlHelper.EscapeString(Query))))
                {
                    if (Reader.Read())
                    {
                        PlayerName = Reader.GetString(0);
                        LoginDate = Reader.GetString(1);
                    }
                }

                //
                // Try looking up by character name too if the player name
                // query failed.
                //

                if (PlayerName == null)
                {
                    using (MySqlDataReader Reader = ExecuteQuery(String.Format(
                        "SELECT " +
                            "players.Name AS player_name, " +
                            "players.LastLogin AS player_last_login " +
                        "FROM " +
                            "characters " +
                        "INNER JOIN players ON players.ID = characters.PlayerID " +
                        "WHERE characters.Name = '{0}' " +
                        "AND characters.IsDeleted = 0 " +
                        "AND characters.IsPlayable = 1 " +
                        "ORDER BY characters.ID ASC ", MySqlHelper.EscapeString(Query))))
                    {
                        if (!Reader.Read())
                        {
                            SendMessage(SendType.Message, Source, String.Format(
                                "{0} is not a recognized player or character name.", Query));
                            return;
                        }

                        PlayerName = Reader.GetString(0);
                        LoginDate = Reader.GetString(1);
                    }
                }

                Console.WriteLine("{0} last logged in at {1}", PlayerName, LoginDate);
                SendMessage(SendType.Message, Source, String.Format(
                    "{0} last logged in at {1}.", PlayerName, LoginDate));
                IncrementStatistic("IRC_COMMAND_SEEN");
            }
            catch (Exception e)
            {
                SendMessage(SendType.Message, Source, "Internal error communicating with database.");
                Console.WriteLine("Exception handling !seen request: {0}", e);
            }
        }