forked from ddrilling/AsbCloudServer
Степанов Дмитрий Александрович
985c0489d0
1. Изменил сущность уведомления. Добавил состояние уведомления 2. Удалил сущность для доставки уведомлений. 3. Изменение DTO уведомления. 4. Добавил миграцию. 5. Поправил DbContext.
92 lines
2.0 KiB
C#
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
|
|
} |