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