2023-07-10 16:56:55 +05:00
|
|
|
|
using System;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
2023-07-11 19:07:57 +05:00
|
|
|
|
using AsbCloudApp.Data;
|
2023-07-10 16:56:55 +05:00
|
|
|
|
|
2023-07-11 19:07:57 +05:00
|
|
|
|
namespace AsbCloudApp.Services.Notifications;
|
2023-07-10 16:56:55 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Интерфейс для работы с уведомлениями
|
|
|
|
|
/// </summary>
|
|
|
|
|
public interface INotificationService
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
2023-07-11 19:07:57 +05:00
|
|
|
|
/// Отправка нового уведомления
|
2023-07-10 16:56:55 +05:00
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idUser"></param>
|
|
|
|
|
/// <param name="idNotificationCategory"></param>
|
|
|
|
|
/// <param name="title"></param>
|
2023-07-11 19:07:57 +05:00
|
|
|
|
/// <param name="message"></param>
|
2023-07-10 16:56:55 +05:00
|
|
|
|
/// <param name="timeToLife"></param>
|
2023-07-11 19:07:57 +05:00
|
|
|
|
/// <param name="notificationTransport"></param>
|
2023-07-10 16:56:55 +05:00
|
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
|
|
/// <returns></returns>
|
2023-07-11 19:07:57 +05:00
|
|
|
|
Task NotifyAsync(int idUser,
|
2023-07-10 16:56:55 +05:00
|
|
|
|
int idNotificationCategory,
|
|
|
|
|
string title,
|
2023-07-11 19:07:57 +05:00
|
|
|
|
string message,
|
2023-07-10 16:56:55 +05:00
|
|
|
|
TimeSpan timeToLife,
|
2023-07-11 19:07:57 +05:00
|
|
|
|
NotificationTransport notificationTransport,
|
2023-07-10 16:56:55 +05:00
|
|
|
|
CancellationToken cancellationToken);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-07-11 19:07:57 +05:00
|
|
|
|
/// Обновление уведомления
|
2023-07-10 16:56:55 +05:00
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idNotification"></param>
|
|
|
|
|
/// <param name="isRead"></param>
|
|
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
Task UpdateNotificationAsync(int idNotification,
|
|
|
|
|
bool isRead,
|
|
|
|
|
CancellationToken cancellationToken);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-07-11 19:07:57 +05:00
|
|
|
|
/// Отправка уведомлений, которые не были отправлены
|
2023-07-10 16:56:55 +05:00
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idUser"></param>
|
2023-07-11 19:07:57 +05:00
|
|
|
|
/// <param name="notificationTransport"></param>
|
2023-07-10 16:56:55 +05:00
|
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
Task ResendNotificationAsync(int idUser,
|
2023-07-11 19:07:57 +05:00
|
|
|
|
NotificationTransport notificationTransport,
|
2023-07-10 16:56:55 +05:00
|
|
|
|
CancellationToken cancellationToken);
|
|
|
|
|
}
|