using System;
namespace AsbCloudApp.Data;
///
/// DTO уведомления
///
public class NotificationDto : IId
{
///
/// Id уведомления
///
public int Id { get; set; }
///
/// Id получателя уведомления
///
public int IdUser { get; set; }
///
/// Id категории уведомления
///
public int IdNotificationCategory { get; set; }
///
/// Заголовок уведомления
///
public string Title { get; set; } = null!;
///
/// Сообщение уведомления
///
public string Message { get; set; } = null!;
///
/// Дата отправки уведомления
///
public DateTime? SentDate { get; set; }
///
/// Дата прочтения уведомления
///
public DateTime? ReadDate { get; set; }
///
/// Состояние уведомления
/// 0 - Зарегистрировано,
/// 1 - Отправлено,
/// 2 - Прочитано
///
public int IdState
{
get
{
if (SentDate is not null && ReadDate is not null)
return 2;
if (SentDate is not null)
return 1;
return 0;
}
}
///
/// Id типа доставки уведомления
/// 0 - SignalR
///
public int IdTransportType { get; set; }
///
/// DTO категории уведомления
///
public NotificationCategoryDto NotificationCategory { get; set; } = null!;
}