Example #1
0
        public override async Task <string> Checker(CallbackQueryDto incomingCallbackDto)
        {
            var user = await _authRepository.GetUser(incomingCallbackDto.From.Id);

            if (user == null)
            {
                var userDto      = incomingCallbackDto.From;
                var userToCreate = _mapper.Map <User>(userDto);

                user = await _authRepository.Register(userToCreate);
            }
            else   //not created, because when create then automaticaly assign LastActive
            {
                user.LastActive = System.DateTime.Now;
                await _authRepository.SaveAllAsync();
            }
            var response = await base.Checker(incomingCallbackDto);

            await _backwardRepository.SetBackwardCommand(user.Id, incomingCallbackDto.Data);

            if (!await _dataRepository.CallbackExists(incomingCallbackDto.Id))
            {
                var callbackForCreate = _mapper.Map <CallbackQuery>(incomingCallbackDto);

                var createdCallback = _dataRepository.Add(callbackForCreate);
                await _dataRepository.SaveAllAsync();
            }
            return(response);
        }
Example #2
0
        public async Task <MessageTextForEditDto> CheckCallback(CallbackQueryDto incomingCallbackDto)
        {
            var command = incomingCallbackDto.Data.ToLower();
            var userId  = incomingCallbackDto.From.Id;
            MessageTextForEditDto messageTextForEdit = null;

            if (command.Equals(@"/backward"))
            {
                messageTextForEdit = await _backwardRepository.GetBackwardMessageTextForEditView(userId);

                if (messageTextForEdit == null)
                {
                    command = await _backwardRepository.GetBackwardCommand(userId);

                    incomingCallbackDto.Data = command;
                }
            }

            if (commands.Contains(command))
            {
                switch (command)
                {
                case @"/?":
                    return(await _view.QuestionView(incomingCallbackDto.Message));

                case @"/about":
                    return(await _view.AboutView(incomingCallbackDto.Message));
                }
                ;
            }
            return(messageTextForEdit);
        }
Example #3
0
        public override async Task <string> Checker(CallbackQueryDto incomingCallbackDto)
        {
            var messageTextForEdit = await CheckCallback(incomingCallbackDto);

            return((messageTextForEdit != null) ?
                   await base.SendView(messageTextForEdit, incomingCallbackDto):
                   await base.Checker(incomingCallbackDto));
        }
Example #4
0
        public override async Task <string> Checker(CallbackQueryDto incomingCallbackDto)
        {
            var answerForSend = await CheckCallback(incomingCallbackDto);

            return((answerForSend != null) ?
                   await base.SendView(answerForSend, incomingCallbackDto):
                   await base.Checker(incomingCallbackDto));
        }
 public virtual async Task <string> Checker(CallbackQueryDto incomingCallbackDto)
 {
     if (this._nextChecker != null)
     {
         return(await this._nextChecker.Checker(incomingCallbackDto));
     }
     else
     {
         return("");
     }
 }
        public async Task <string> SendView(
            MessageTextForEditDto messageForSendDto,
            CallbackQueryDto incomingCallbackDto)
        {
            var userId = incomingCallbackDto.From.Id;

            if (messageForSendDto.isEqual(incomingCallbackDto.Message))
            {
                return("");
            }
            var response = await _telegramRequest.SendChangeMessage(messageForSendDto) ?? "";

            //await _backwardRepository.SetBackwardView(userId, messageForSendDto);
            await _logger.LogSentToUser(messageForSendDto);

            return(response);
        }
Example #7
0
        public async Task <MessageTextForEditDto> CheckCallback(CallbackQueryDto inCallbackDto)
        {
            int categoryId;
            var userId = inCallbackDto.From.Id;

            // if categories
            if (parentCategories.Contains(inCallbackDto.Data) &&
                TryParse(inCallbackDto.Data, out categoryId))
            {
                return(await _view.CategoriesForEditView(inCallbackDto.Message, categoryId));
            }
            // if products
            else if (productCategories.Contains(inCallbackDto.Data) &&
                     TryParse(inCallbackDto.Data, out categoryId))
            {
                return(await _view.ProductsForEditView(inCallbackDto.Message, categoryId));
            }
            // default
            else
            {
                return(await _view.DefaultCallbackView(inCallbackDto.Message));
            }
        }