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); }
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); }
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)); }
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); }
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)); } }