public async Task HandleEventAsync(OrderPlacedEvent eventMessage) { if (!_config.ExtendedAuthSettings.TelegramBotEnabled) { return; } var chatGroupsToNotify = await _vendorToChat.WhereAwait(async x => (await _orderService.GetOrderItemsAsync(eventMessage.Order.Id, vendorId: x.VendorId)).Any()) .Select(x => x.ChatGroupId) .ToListAsync(); if (!chatGroupsToNotify.Any()) { return; } var customer = await _customerService.GetCustomerByIdAsync(eventMessage.Order.CustomerId); var externalRecord = (await _externalAuthenticationService.GetCustomerExternalAuthenticationRecordsAsync(customer)).FirstOrDefault(); var externalDisplayIdentifier = externalRecord?.ExternalDisplayIdentifier ?? await _customerService.GetCustomerFullNameAsync(customer); if (string.IsNullOrEmpty(externalDisplayIdentifier)) { externalDisplayIdentifier = "Unknown"; } foreach (var chatGroupId in chatGroupsToNotify) { var chat = await _telegramBotClient.Value.GetChatAsync(chatGroupId); await _telegramBotClient.Value.SendTextMessageAsync(chat, $"New order from {externalDisplayIdentifier}"); } }