198 lines
5.5 KiB
C#
198 lines
5.5 KiB
C#
using gehGassi.Domain.Base;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using gehGassi.Domain.Common;
|
|
|
|
namespace gehGassi.Domain.Messages
|
|
{
|
|
/// <summary>
|
|
/// Repräsentiert eine Unterhaltung zwischen 2 Benutzern.
|
|
/// Ist bewusst nicht IAuditable!!!
|
|
/// Dient zum erfassen von Metadaten und der Gruppierung
|
|
/// </summary>
|
|
public class Conversation : SyncEntity
|
|
{
|
|
/// <summary>
|
|
/// Ersteller der Konversation (AppUserId)
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string SenderId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ziel der Konversation (AppUserId)
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string ReceiverId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die letzte Nachricht gesendet?
|
|
/// </summary>
|
|
public DateTimeOffset? LastMessage { get; set; }
|
|
|
|
/// <summary>
|
|
/// Anzahl der insgesamt gesendeten Nachrichten
|
|
/// </summary>
|
|
public int MessageCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die Konversation erstellt
|
|
/// </summary>
|
|
[Required]
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Repräsentiert eine Unterhaltung zwischen 2 Benutzern.
|
|
/// Hier wird im TargetName der andere Benutzer mit Namen hinterlegt
|
|
/// Dient zum Filtern nach Zielname
|
|
/// </summary>
|
|
public class ConversationWithTarget : SyncEntityVw
|
|
{
|
|
/// <summary>
|
|
/// Ersteller der Konversation (AppUserId)
|
|
/// </summary>
|
|
public string SenderId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Senders. DogOwner oder DogWalker
|
|
/// </summary>
|
|
public AppUserType SenderType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ziel der Konversation (AppUserId)
|
|
/// </summary>
|
|
public string ReceiverId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Empfängers. DogOwner oder DogWalker
|
|
/// </summary>
|
|
public AppUserType ReceiverType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die letzte Nachricht gesendet?
|
|
/// </summary>
|
|
public DateTimeOffset? LastMessage { get; set; }
|
|
|
|
/// <summary>
|
|
/// Anzahl der insgesamt gesendeten Nachrichten
|
|
/// </summary>
|
|
public int MessageCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die Konversation erstellt
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
|
|
/// <summary>
|
|
/// Beinhaltet den Zielnamen einer Konversation ungleich dem Benutzer der anfrägt
|
|
/// </summary>
|
|
public string TargetName { get; set; }
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Repräsentiert eine Unterhaltung zwischen 2 Benutzern mit Namen aufgelöst und mit Block- und Lock Info
|
|
/// </summary>
|
|
public class ConversationWithNames : SyncEntityVw
|
|
{
|
|
/// <summary>
|
|
/// Ersteller der Konversation (AppUserId)
|
|
/// </summary>
|
|
public string SenderId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Name des Senders
|
|
/// </summary>
|
|
public string SenderName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vorname des Senders
|
|
/// </summary>
|
|
public string SenderFirstName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Nachname des Senders
|
|
/// </summary>
|
|
public string SenderLastName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Sender gesperrt
|
|
/// </summary>
|
|
public bool SenderLocked { get; set; }
|
|
|
|
/// <summary>
|
|
/// Sender blockiert
|
|
/// </summary>
|
|
public bool SenderBlocked { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Senders. DogOwner oder DogWalker oder Beides
|
|
/// </summary>
|
|
public AppUserType SenderType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Foto des Senders
|
|
/// </summary>
|
|
public string SenderPhoto { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ziel der Konversation (AppUserId)
|
|
/// </summary>
|
|
public string ReceiverId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Empfänger Name
|
|
/// </summary>
|
|
public string ReceiverName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vorname des Empfängers
|
|
/// </summary>
|
|
public string ReceiverFirstName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Nachname des Empfängers
|
|
/// </summary>
|
|
public string ReceiverLastName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Empfänger gesperrt
|
|
/// </summary>
|
|
public bool ReceiverLocked { get; set; }
|
|
|
|
/// <summary>
|
|
/// Empfänger blockiert
|
|
/// </summary>
|
|
public bool ReceiverBlocked { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Empfängers. DogOwner oder DogWalker oder Beides
|
|
/// </summary>
|
|
public AppUserType ReceiverType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Foto des Empfängers
|
|
/// </summary>
|
|
public string ReceiverPhoto { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die letzte Nachricht gesendet?
|
|
/// </summary>
|
|
public DateTimeOffset? LastMessage { get; set; }
|
|
|
|
/// <summary>
|
|
/// Anzahl der insgesamt gesendeten Nachrichten
|
|
/// </summary>
|
|
public int MessageCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die Konversation erstellt
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
}
|