DD.WellWorkover.Cloud/AsbCloudApp/Services/INotificationService.cs

52 lines
1.6 KiB
C#
Raw Normal View History

using System;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services;
/// <summary>
/// Интерфейс для работы с уведомлениями
/// </summary>
public interface INotificationService
{
/// <summary>
/// Метод отправки нового уведомления
/// </summary>
/// <param name="idUser"></param>
/// <param name="idNotificationTransport"></param>
/// <param name="idNotificationCategory"></param>
/// <param name="title"></param>
/// <param name="subject"></param>
/// <param name="timeToLife"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task SendNotificationAsync(int idUser,
int idNotificationTransport,
int idNotificationCategory,
string title,
string subject,
TimeSpan timeToLife,
CancellationToken cancellationToken);
/// <summary>
/// Метод обновления уведомления
/// </summary>
/// <param name="idNotification"></param>
/// <param name="isRead"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task UpdateNotificationAsync(int idNotification,
bool isRead,
CancellationToken cancellationToken);
/// <summary>
/// Метод отправки уведомлений, которые не были отправлены
/// </summary>
/// <param name="idUser"></param>
/// <param name="idNotificationTransport"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task ResendNotificationAsync(int idUser,
int idNotificationTransport,
CancellationToken cancellationToken);
}