コード例 #1
0
ファイル: BotService.cs プロジェクト: Geomates/Gu.Api
        public async Task <bool> QuerySheetAsync(int linkedMessageId, string callbackQueryId, int chatId, int scale)
        {
            var coordinates = await _amazonDynamoDbService.QueryAsync(chatId);

            var sheets = _sheetService.GetSheetsByCoordinate(coordinates.lat, coordinates.lon, scale).ToList();

            if (!sheets.Any())
            {
                return(false);
            }

            var deleteMessage = new TelegramDeleteMessage
            {
                ChatId    = chatId,
                MessageId = linkedMessageId
            };
            await _telegramService.DeleteMessage(deleteMessage);

            var answerCallbackQuery = new AnswerCallbackQuery
            {
                CallbackQueryId = callbackQueryId,
                Text            = "Sorgu tamamlandı."
            };

            await _telegramService.AnswerCallbackQuery(answerCallbackQuery);

            string messageText;

            if (sheets.Count() > 1)
            {
                messageText = "Birden fazla pafta ile kesişiyor:";
                foreach (var sheetDto in sheets)
                {
                    messageText += "\n" + sheetDto.Name;
                }
            }
            else
            {
                messageText = sheets.FirstOrDefault().Name;
            }

            messageText += $"\nÖlçek: 1:{scale}.000";
            messageText += $"\nKoordinatlar: {coordinates.lat:F6}, {coordinates.lon:F6}";

            var message = new TelegramMessage
            {
                ChatId = chatId.ToString(),
                Text   = messageText
            };

            return(await _telegramService.SendMessage(message));
        }
コード例 #2
0
 public IActionResult Get(int scale, double lat, double lon)
 {
     return(new OkObjectResult(
                _sheetService.GetSheetsByCoordinate(lat, lon, scale)
                ));
 }