Advertisement
punidota

Untitled

Mar 23rd, 2016
404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.81 KB | None | 0 0
  1. public interface ICommand
  2.     {
  3.         string LogIn(string data);
  4.         string GetChars(string data);
  5.     }
  6.    
  7. public class Commands : ICommand
  8.     {
  9.         public string LogIn(string data)
  10.         {
  11.             TableManager tableManager = new TableManager();
  12.             User user = new User();
  13.             var logpass = Separator.Data;
  14.             var chars = tableManager.GetTableInfo("*", "Chars", 1);
  15.             string reply;
  16.             if (user.loggedin(logpass[0], logpass[1]))
  17.             {
  18.                 reply = "Пользователь существует. Список персонажей: " + chars;
  19.             }
  20.             else
  21.             {
  22.                 reply = "Такого пользователя не существует!";
  23.             }
  24.             return reply;
  25.         }
  26.  
  27.         public string GetChars(string data)
  28.         {
  29.             return "хуй" + data;
  30.         }
  31.     }
  32.    
  33.     public class CommandDictionary
  34.     {
  35.         private ICommand _commands;
  36.         private Dictionary<string, Func<string, string>> _dictionary;
  37.  
  38.         public CommandDictionary(ICommand commands)
  39.         {
  40.             _commands = commands;
  41.             _dictionary = CreateDictionary();
  42.         }
  43.         public Dictionary<string, Func<string, string>> CreateDictionary()
  44.         {
  45.             var dictionary = new Dictionary<string, Func<string, string>>
  46.             {
  47.                 {"LogIn", _commands.LogIn},
  48.                 {"GetChars", _commands.GetChars}
  49.             };
  50.             return dictionary;
  51.         }
  52.  
  53.         public string RunCommand(string name, string value)
  54.         {
  55.             if (_dictionary.ContainsKey(name))
  56.             {
  57.                 return _dictionary[name].Invoke(value);
  58.             }
  59.             return string.Empty;
  60.         }
  61.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement