public async override Task SendCallBack(CallbackQueryEventArgs callback) { long chatid = callback.CallbackQuery.Message.Chat.Id; string message; if (callback.CallbackQuery.Data == "ShowUserNext") { UserDTO user = await provider.showUserService.GetNextUser(chatid); if (user == null) { await client.SendTextMessageAsync(chatid, "Вы просматриваете последнего пользователя"); return; } int messageId = await provider.showUserService.GetMessageId(chatid); message = $"Пилот:{user.FIO} \n" + $"Телефон:{user.Phone}"; await client.EditMessageTextAsync(chatid, messageId + 2, message, 0, false, (InlineKeyboardMarkup)KeyBoardHandler.CallBackShowForUser()); return; } if (callback.CallbackQuery.Data == "ShowUserPrevious") { UserDTO user = await provider.showUserService.GetPreviousUser(chatid); if (user == null) { await client.SendTextMessageAsync(chatid, "Вы просматриваете первого пользователя"); return; } int messageId = await provider.showUserService.GetMessageId(chatid); message = $"Пилот:{user.FIO} \n" + $"Телефон:{user.Phone}"; await client.EditMessageTextAsync(chatid, messageId + 2, message, 0, false, (InlineKeyboardMarkup)KeyBoardHandler.CallBackShowForUser()); return; } }
public async Task Response(MessageEventArgs messageObject) { if (provider == null) { await client.SendTextMessageAsync(messageObject.Message.Chat.Id, "оч странно"); } long chatid = messageObject.Message.Chat.Id; int currStep = await provider.userService.GetCurrentActionStep(chatid); string messageText = messageObject.Message.Text; int countUser; string message; if (currStep == 1) { await client.SendTextMessageAsync(chatid, "Выберите один из вариантов", 0, false, false, 0, KeyBoardHandler.ShowPartners()); await provider.userService.ChangeAction(chatid, "Партнеры рядом", ++currStep); return; } if (currStep == 2) { if (messageText == "Просмотр пилотов") { await provider.userService.ChangeAction(chatid, "Партнеры рядом", ++currStep); await client.SendTextMessageAsync(chatid, "Выберите один из вариантов", 0, false, false, 0, KeyBoardHandler.ShowPatnersPilot()); return; } else { await client.SendTextMessageAsync(chatid, "Вы ввели некорректную команду"); } } if (currStep == 3) { if (messageText == "Из геолокации" || messageText == "Выбрать по региону") { countUser = await provider.showUserService.CountUsersAsync(); if (messageText == "Из геолокации") { if (countUser > 1) { ProposalDTO proposal = await provider.proposalService.FindById(chatid); UserDTO user = await provider.showUserService.GetFirstUserForCommand(chatid, proposal.Region); message = $"Пилот:{user.FIO} \n" + $"Телефон:{user.Phone}"; await provider.showUserService.ChangeMessageId(chatid, messageObject.Message.MessageId); await client.SendTextMessageAsync(chatid, "Вы можете просмотреть пользователей", 0, false, false, 0, KeyBoardHandler.Markup_Back_From_First_Action()); await client.SendTextMessageAsync(chatid, message, 0, false, false, 0, KeyBoardHandler.CallBackShowForUser()); return; } else if (countUser == 1) { await client.SendTextMessageAsync(chatid, "К сожалению,вы зарегестрированы один", 0, false, false, 0, KeyBoardHandler.Markup_Back_From_First_Action()); return; } } if (messageText == "Выбрать по региону") { if (countUser > 1) { GenerateButtons buttons = new GenerateButtons(client, provider); ReplyKeyboardMarkup keyboard = await buttons.GenerateKeyBoards(); await client.SendTextMessageAsync(chatid, "Выберите интересующий вас регион", 0, false, false, 0, keyboard); await provider.userService.ChangeAction(chatid, "Партнеры рядом", ++currStep); return; } else if (countUser == 1) { await client.SendTextMessageAsync(chatid, "Вы один зарегестрированный пилот", 0, false, false, 0, KeyBoardHandler.Markup_Back_From_First_Action()); return; } } } else { await client.SendTextMessageAsync(chatid, "Вы выбрали несуществующий вариант"); await client.SendTextMessageAsync(chatid, "Попробуйте еще раз"); } } if (currStep == 4) { List <string> regions = await provider.regionService.GetAllRegions(); if (regions.Contains(messageText)) { UserDTO user = await provider.showUserService.GetFirstUserForCommand(chatid, messageText); await provider.showUserService.ChangeMessageId(chatid, messageObject.Message.MessageId); message = $"Пилот:{user.FIO} \n" + $"Телефон:{user.Phone}"; await client.SendTextMessageAsync(chatid, "Вы можете просмотреть пользователей", 0, false, false, 0, KeyBoardHandler.Markup_Back_From_First_Action()); await client.SendTextMessageAsync(chatid, message, 0, false, false, 0, KeyBoardHandler.CallBackShowForUser()); return; } else { await client.SendTextMessageAsync(chatid, "Вы выбрали несуществующий регион"); } } }