using System; using System.Linq; using System.Data; using System.Data.SqlClient; using Filter.Networking.Instances; using Filter.Networking.Manager; namespace Filter.Utilities { internal class Command { public static void HandleCommand(ManagerClient ClientSocket, Packet ClientPacket, String CommandText) { String[] SplitCommand = CommandText.Split(' '); if (Program.Config.CCEnabled && SplitCommand[0].ToLower() == "¤cies") { Echo.SendWhisper(ClientSocket, "Custom Currency Amounts:"); using (var Connection = new SqlConnection()) { Connection.ConnectionString = Program.ConnectionBuilder.ConnectionString; try { Connection.Open(); } catch { } if (Connection.State == ConnectionState.Open) { using (var Command = Connection.CreateCommand()) { foreach (Currency C in Program.CustomCurrency.Currencys.Values) { String CurrencyLine = String.Format("{0}: ", C.Name); if (C.Type == 1) { Command.CommandText = String.Format("SELECT TOP 1 nCharNo FROM {0}..tCharacter WHERE sID = '{1}'", Program.Config.SQLCharacter, ClientSocket.CharacterName); Int32 CharacterID = Convert.ToInt32(Command.ExecuteScalar()); Command.CommandText = String.Format("SELECT TOP 1 Amount FROM CustomCurrency..{0} WHERE nCharNo = '{1}'", C.Table, CharacterID); } else if (C.Type == 2) { Command.CommandText = String.Format("SELECT TOP 1 Amount FROM CustomCurrency..{0} WHERE nUserNo = '{1}'", C.Table, ClientSocket.AccountID); } Echo.SendWhisper(ClientSocket, String.Concat(CurrencyLine, Command.ExecuteScalar())); } } } } } ClientPacket.Dispose(); } } }