/// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void BotOnMessageReceived(object sender, MessageEventArgs e)
        {
            var userRepository = new UserRepository();
            var user           = userRepository.FindUser(e.Message.Chat.Id);

            switch (e.Message.Text)
            {
            case "/start":
                var startCommand = new StartCommand();
                startCommand.Execute(e.Message, user);
                return;

            case "/menu":
                var menuCommand = new MenuCommand();
                menuCommand.Execute(e.Message, user);
                break;
            }

            var command = CommandFactory.GetPublicCommand(e.Message.Text);

            if (command != null)
            {
                command.Execute(e.Message, user);
                return;
            }

            command = CommandFactory.GetCommand(user?.Command);
            command?.Execute(e.Message, user);
        }
Exemple #2
0
        private async Task ExecuteMethodReturnsMenuIsSended()
        {
            //Arrange
            var menuCommand = new MenuCommand();
            var message     = new Message()
            {
                Chat = new Chat()
                {
                    Id = 1
                }
            };

            var client = new TelegramBotClient(AppConfig.Token);

            //Act
            var result = await menuCommand.Execute(message, client);

            //Assert
            Assert.NotNull(result);
            Assert.True(result?.isSuccessed);
            Assert.Equal("Menu is sended", result?.Message);
        }
        public ChatNavigationBar()
        {
            InitializeComponent();
            var heightStatusBar  = DependencyService.Get <IGetHeightStatusBar>().GetStatusBarHeight();
            var heightNavigation = DependencyService.Get <IGetHeightStatusBar>().GetNavigationHeight();

            gridNav.Margin     = new Thickness(0, heightStatusBar, 0, 0);
            this.HeightRequest = heightNavigation + heightStatusBar;

            //
            var backGR = new TapGestureRecognizer();

            backGR.Tapped += (sender, e) => BackCommand?.Execute(sender);
            back.GestureRecognizers.Add(backGR);
            //
            var gestureRecognizer = new TapGestureRecognizer();

            gestureRecognizer.Tapped += (sender, e) => MenuCommand?.Execute(sender);
            menu.GestureRecognizers.Add(gestureRecognizer);
            //
            title.BindingContext = this;
        }
        public HomeNavigationBar()
        {
            InitializeComponent();


            gridNav.Margin        = new Thickness(0, App.HeightStatusBar, 0, 0);
            this.HeightRequest    = App.HeightNavigationIOS;
            gridNav.HeightRequest = App.HeightNavigationIOS;

            var gestureRecognizer = new TapGestureRecognizer();

            gestureRecognizer.Tapped += (sender, e) => Command?.Execute(sender);
            search.GestureRecognizers.Add(gestureRecognizer);

            //GetureRecognizer Menu
            var menuGR = new TapGestureRecognizer();

            menuGR.Tapped += (sender, e) => MenuCommand?.Execute(sender);
            menu.GestureRecognizers.Add(menuGR);

            title.BindingContext = this;
        }
Exemple #5
0
        //Accessors


        //Methods

        public void Action()
        {
            command.Execute();
        }