private async Task InputDescriptionForProject(Message message) { _sessionRepo.Update(message.From.Id, session => { var project = session.Data.CastObject <Project>(); project.Purpose = message.Text; session.Data = project; session.State = SessionState.WaitInputDescriptionForNewProject; }); await _telegramBotClient.SendTextMessageAsync(message.Chat.Id, "Input description for new project:", replyMarkup : Keyboards.GetProjectsMenuKeyboard()); }
private async Task GetProjects(Message message) { await _telegramBotClient.SendTextMessageAsync(message.Chat.Id, "\U0001F4C0 Loading your projects...", replyMarkup : Keyboards.GetProjectsMenuKeyboard()); var digitalOceanApi = _digitalOceanClientFactory.GetInstance(message.From.Id); var projects = await digitalOceanApi.Projects.GetAll(); if (projects.Count > 0) { _sessionRepo.Update(message.From.Id, session => { session.Data = projects; session.State = SessionState.ProjectsMenu; }); var page = _pageFactory.GetInstance <ProjectPage>(); var pageModel = page.GetPage(message.From.Id, 0); var sendMessage = await _telegramBotClient.SendTextMessageAsync(message.Chat.Id, pageModel.Message, ParseMode.Markdown, replyMarkup : pageModel.Keyboard); _handlerCallbackRepo.Update(message.From.Id, callback => { callback.MessageId = sendMessage.MessageId; callback.UserId = message.From.Id; callback.HandlerType = GetType().FullName; }); } else { await _telegramBotClient.SendTextMessageAsync(message.Chat.Id, "You don't have a projects \U0001F914"); } }