/// <summary>
        /// отправить вторую стр. кнопок для товара
        /// </summary>
        /// <param name="ProductId"></param>
        /// <returns></returns>
        private async Task <IActionResult> SendSecondPageButtons(int ProductId)
        {
            ProductViewMessage productView = new ProductViewMessage(BusinessLayer.ProductFunction.GetProductById(ProductId));

            await base.EditInlineReplyKeyboard(productView.SecondPageButtons());

            return(OkResult);
        }
Example #2
0
        /// <summary>
        /// Срабатывает по команде /product[id] напримиер /product12
        /// </summary>
        /// <returns></returns>
        private async Task <IActionResult> GetProductCommand()
        {
            try
            {
                int id = Convert.ToInt32(base.CommandName.Substring(ProductCmd.Length));

                ProductViewMsg = new ProductViewMessage(id, BotInfo.Id);
                return(await GetProduct());
            }

            catch
            {
                return(base.NotFoundResult);
            }
        }
        protected override void Initializer()
        {
            try
            {
                if (base.Argumetns.Count > 0)
                {
                    ProductId      = Argumetns[0];
                    ProductViewMsg = new ProductViewMessage(this.ProductId, BotInfo.Id);
                }
            }

            catch
            {
            }
        }
Example #4
0
        public async override Task <IActionResult> Response()
        {
            switch (base.CommandName)
            {
            //Пользователь нажал на кнопку вперед или назад при листнинге товаров
            case GetProductCmd:
                return(await GetProduct());

            //Пользователь нажал на +, добавил товар в корзину в кол-во 1 шт.
            case AddToBasketCmd:
                return(await AddToBasket());

            //Пользователь нажалн на-, удалил товар из корзины в кол-во 1 шт.
            case RemoveFromBasketCmd:
                return(await RemoveFromBasket());

            //Пользователь нажал "Подробнее"
            case MoreInfoProductCmd:
                return(await MoreInfoProduct());
            }

            //inlene поиск
            if (Update.InlineQuery != null && Update.InlineQuery.Query != "")
            {
                await ProductInlineSearch(Update.InlineQuery.Query);
            }

            //ПОльзователь через инлай режим отправил в чат навзание
            //товара. Отправляем пользователю сообщение с этим товаром
            if (Update.Message != null && Update.Message.Text != null && Update.Message.Text.Length > 0 && Connection.getConnection().Product.Where(p => p.Name == CommandName).FirstOrDefault() != null)
            {
                ProductViewMsg = new ProductViewMessage(base.CommandName);
                return(await GetProduct());
            }

            //команда /product
            if (base.CommandName.Contains(ProductCmd))
            {
                return(await GetProductCommand());
            }

            else
            {
                return(null);
            }
        }
Example #5
0
        protected override void Constructor()
        {
            try
            {
                if (base.Argumetns.Count > 0)
                {
                    ProductId                  = Argumetns[0];
                    ProductViewMsg             = new ProductViewMessage(this.ProductId, BotInfo.Id);
                    AddProductToBasketMsg      = new AddProductToBasketMessage(base.FollowerId, this.ProductId, BotInfo.Id);
                    ProductRemoveFromBasketMsg = new ProductRemoveFromBasket(this.FollowerId, this.ProductId, BotInfo.Id);
                }
            }

            catch
            {
            }
        }
Example #6
0
        protected override void Constructor()
        {
            try
            {
                if (this.Argumetns.Count > 0)
                {
                    CategoryId = Argumetns[0];
                    using (MarketBotDbContext db = new MarketBotDbContext())
                        Category = db.Category.Where(c => c.Id == this.CategoryId).FirstOrDefault();

                    ProductViewMsg = new ProductViewMessage(Category, BotInfo.Id);
                }

                ViewAllProductMsg = new ViewAllProductMessage();
            }

            catch
            {
            }
        }