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
{
///
/// Repräsentiert eine Nachricht von einem Benutzer an einen anderen.
///
public class Message : SyncEntity
{
///
/// Id der Konversation
///
[Required]
[MaxLength(128)]
public string ConversationId { get; set; }
///
/// Sender der Nachricht
///
[MaxLength(128)]
public string SenderId { get; set; }
///
/// Empfänger der Nachricht
///
[MaxLength(128)]
public string ReceiverId { get; set; }
///
/// Inhalt Nachricht
///
[MaxLength(500)]
public string Content { get; set; }
}
///
/// Repräsentiert eine Kopie Nachricht von einem Benutzer an einen anderen.
/// Wird aus Sicherheitsgründen archiviert, aber nach Zeitraum X automatisch gelöscht
///
public class MessageCopy : SyncEntity
{
///
/// Id der Konversation
///
[Required]
[MaxLength(128)]
public string ConversationId { get; set; }
///
/// Sender der Nachricht
///
[MaxLength(128)]
public string SenderId { get; set; }
///
/// Empfänger der Nachricht
///
[MaxLength(128)]
public string ReceiverId { get; set; }
///
/// Inhalt Nachricht
///
[MaxLength(500)]
public string Content { get; set; }
///
/// Wurde gelesen?
///
public bool Read { get; set; }
///
/// Wann gelesen?
///
public DateTimeOffset? ReadDate { get; set; }
}
}