6b9f27573b
- Integrated SignalR for real-time notification delivery to users.
34 lines
1015 B
C#
34 lines
1015 B
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace Distribution.Models
|
|
{
|
|
public enum NotificationSeverity { Info, Success, Warning, Critical }
|
|
|
|
/// <summary>One row per event. Who it was delivered to lives in <see cref="NotificationRecipient"/>.</summary>
|
|
public class Notification : Template
|
|
{
|
|
[MaxLength(60)]
|
|
public string Type { get; set; } = string.Empty;
|
|
|
|
public NotificationSeverity Severity { get; set; }
|
|
|
|
[MaxLength(150)]
|
|
public string Title { get; set; } = string.Empty;
|
|
|
|
[MaxLength(500)]
|
|
public string Message { get; set; } = string.Empty;
|
|
|
|
[MaxLength(50)]
|
|
public string EntityType { get; set; } = string.Empty;
|
|
|
|
public Guid EntityId { get; set; }
|
|
|
|
[MaxLength(200)]
|
|
public string Link { get; set; } = string.Empty;
|
|
|
|
public Guid? CreatedByUserId { get; set; }
|
|
|
|
public ICollection<NotificationRecipient> Recipients { get; set; } = new List<NotificationRecipient>();
|
|
}
|
|
}
|