DD.WellWorkover.Cloud/AsbCloudApp/Services/Notifications/INotificationTransportService.cs
Степанов Дмитрий Александрович 5f459b79b8 Изменил отправку уведомлений через SignalR
1. Добавил отправку всех неотправленных уведомлений и кол-во непрочитаннах уведомлений при первом подключении
2. При изменении статуса прочтения уведомления, клиенту отправляется информация о том сколько непрочитанных уведомлений ещё есть.
3. Добавил объект NotificationMessage, который отправляется клиенту.
4. Сделал небольшой рефакторинг
2023-08-04 09:47:22 +05:00

35 lines
1.0 KiB
C#

using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using AsbCloudApp.Data;
namespace AsbCloudApp.Services.Notifications;
/// <summary>
/// Интерфейс для отправителя уведомлений
/// </summary>
public interface INotificationTransportService
{
/// <summary>
/// Id типа доставки уведомления
/// </summary>
int IdTransportType { get; }
/// <summary>
/// Отправка одного уведомления
/// </summary>
/// <param name="notification"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task SendAsync(NotificationDto notification,
CancellationToken cancellationToken);
/// <summary>
/// Отправка нескольких уведомлений
/// </summary>
/// <param name="notifications"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task SendRangeAsync(IEnumerable<NotificationDto> notifications,
CancellationToken cancellationToken);
}