DD.WellWorkover.Cloud/AsbCloudApp/Data/NotificationDto.cs
Степанов Дмитрий Александрович 985c0489d0 Исправление в работе с данными
1. Изменил сущность уведомления. Добавил состояние уведомления
2. Удалил сущность для доставки уведомлений.
3. Изменение DTO уведомления.
4. Добавил миграцию.
5. Поправил DbContext.
2023-07-11 18:57:25 +05:00

92 lines
2.0 KiB
C#

using System;
using System.Text.Json.Serialization;
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 TimeSpan TimeToLife { get; set; }
/// <summary>
/// Дата отправки уведомления
/// </summary>
public DateTime? SentDate { get; set; }
/// <summary>
/// Состояния уведомления
/// </summary>
public NotificationState NotificationState { get; set; }
/// <summary>
/// Способ доставки уведомления
/// </summary>
public NotificationTransport NotificationTransport { get; set; }
/// <summary>
/// DTO категории уведомления
/// </summary>
public NotificationCategoryDto NotificationCategory { get; set; } = null!;
}
/// <summary>
/// Состояние уведомления
/// </summary>
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum NotificationState
{
/// <summary>
/// Зарегистрировано
/// </summary>
Registered = 1,
/// <summary>
/// Отправлено
/// </summary>
Sent = 2,
/// <summary>
/// Прочитано
/// </summary>
Read = 3,
}
/// <summary>
/// Способ отправки уведомления
/// </summary>
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum NotificationTransport
{
/// <summary>
/// SignalR
/// </summary>
SignalR = 1
}