using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassiApp.Domain.Base; using gehGassiApp.Domain.Common; namespace gehGassiApp.Domain.Messages { /// /// Repräsentiert eine Systemnachricht /// public class SystemMessage : SyncEntity { /// /// Benutrzer für den die Systemnachricht ist /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Typ des Appusers damit man bei jenen die beides sind auch unterscheiden kann /// public AppUserType AppUserType { get; set; } /// /// Id des verknüpften Objektes /// [Required] [MaxLength(128)] public string Key { get; set; } /// /// Typ des Objektes das verbunden wurde /// [Required] [MaxLength(100)] public string Table { get; set; } /// /// Typ der Systemnachricht /// [Required] public SystemMessageType Type { get; set; } /// /// Optional: Nachricht /// [MaxLength(500)] public string Message { get; set; } /// /// Wann läuft die Nachricht ab? /// public DateTimeOffset? Expires { get; set; } /// /// Wurde die Nachricht gelesen? /// [Required] public bool Read { get; set; } /// /// Wann gelesen? /// public DateTimeOffset? ReadDate { get; set; } /// /// Wann erstellt? /// [Required] public DateTimeOffset Created { get; set; } } }