Для отправки уведомлений из динамического кода используется сервис уведомлений, доступный через контекст:
var notificationService = context.GetNotificationService();
Сервис позволяет отправлять пользовательские уведомления конкретным пользователям системы.
Task SendCustomNotificationAsync(
Guid userId,
string message,
string subject = null,
EntityInfo entityInfo = null
)
Отправляет пользовательское уведомление указанному пользователю.
Уведомление отправляется через внутреннюю очередь событий системы и отображается в интерфейсе пользователя.
public record EntityInfo(string EntityType, Guid EntityId);
Описание сущности, связанной с уведомлением.
Параметры:
Если EntityInfo передан, уведомление будет связано с соответствующей сущностью.
Пример отправки уведомления пользователю:
var notificationService = context.GetNotificationService();
await notificationService.SendCustomNotificationAsync(
userId,
"Проект был обновлён",
"Обновление проекта"
);
var notificationService = context.GetNotificationService();
await notificationService.SendCustomNotificationAsync(
userId,
"Проект был обновлён",
"Обновление проекта",
new EntityInfo("Project", project.Id)
);
В этом случае уведомление будет связано с указанной сущностью, и пользователь сможет перейти к ней из интерфейса уведомления.
Метод не блокирует выполнение бизнес-логики и может безопасно использоваться в обработчиках динамического кода.
Перейти на русскую версию?