85 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassi.Domain.Base;
using gehGassi.Domain.Common;
namespace gehGassi.Domain.Messages
{
/// <summary>
/// Repräsentiert eine Nachricht von einem Benutzer an einen anderen.
/// </summary>
public class Message : SyncEntity
{
/// <summary>
/// Id der Konversation
/// </summary>
[Required]
[MaxLength(128)]
public string ConversationId { get; set; }
/// <summary>
/// Sender der Nachricht
/// </summary>
[MaxLength(128)]
public string SenderId { get; set; }
/// <summary>
/// Empfänger der Nachricht
/// </summary>
[MaxLength(128)]
public string ReceiverId { get; set; }
/// <summary>
/// Inhalt Nachricht
/// </summary>
[MaxLength(500)]
public string Content { get; set; }
}
/// <summary>
/// Repräsentiert eine Kopie Nachricht von einem Benutzer an einen anderen.
/// Wird aus Sicherheitsgründen archiviert, aber nach Zeitraum X automatisch gelöscht
/// </summary>
public class MessageCopy : SyncEntity
{
/// <summary>
/// Id der Konversation
/// </summary>
[Required]
[MaxLength(128)]
public string ConversationId { get; set; }
/// <summary>
/// Sender der Nachricht
/// </summary>
[MaxLength(128)]
public string SenderId { get; set; }
/// <summary>
/// Empfänger der Nachricht
/// </summary>
[MaxLength(128)]
public string ReceiverId { get; set; }
/// <summary>
/// Inhalt Nachricht
/// </summary>
[MaxLength(500)]
public string Content { get; set; }
/// <summary>
/// Wurde gelesen?
/// </summary>
public bool Read { get; set; }
/// <summary>
/// Wann gelesen?
/// </summary>
public DateTimeOffset? ReadDate { get; set; }
}
}