private async void OnMessage(object sender, MessageEventArgs messageEventArgs) { Message message = messageEventArgs.Message; Chat ChatInfo = message.Chat; string messageText = message.Text.ToLower(); SessionManager.Instance.StoreClientSession(ChatInfo.Id); ClientSession clientSession = SessionManager.Instance.GetClientSession(ChatInfo.Id); CommandRequest commandRequest = new CommandRequest(messageText, clientSession); AbstractHandler <CommandRequest> defaultCommandHandler = new DefaultCommandHandler(new DefaultTrueCondition()); AbstractHandler <CommandRequest> startCommandHandler = new StartCommandHandler(new StartCommandCondition()); AbstractHandler <CommandRequest> countryCommandHandler = new CountryCommandHandler(new CountryCommandCondition()); AbstractHandler <CommandRequest> seasonCommandHandler = new SeasonCommandHandler(new SeasonCommandCondition()); AbstractHandler <CommandRequest> menuCommandHandler = new MenuCommandHandler(new MenuCommandCondition()); startCommandHandler.Successor = countryCommandHandler; countryCommandHandler.Successor = seasonCommandHandler; seasonCommandHandler.Successor = menuCommandHandler; menuCommandHandler.Successor = defaultCommandHandler; startCommandHandler.Handle(commandRequest, Instance); }
public SeasonController(SeasonCommandHandler commandHandler) { _commandHandler = commandHandler; }