143 lines
3.7 KiB
C#
143 lines
3.7 KiB
C#
using gehGassi.Domain.Common;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using NetTopologySuite.Geometries;
|
|
|
|
namespace gehGassi.Domain.Dogs
|
|
{
|
|
/// <summary>
|
|
/// Repräsentiert eine Blockierung eines App-Users durch einen anderen App-User
|
|
/// </summary>
|
|
public class AppUserBlock
|
|
{
|
|
/// <summary>
|
|
/// Id der Blockierung
|
|
/// </summary>
|
|
[Key]
|
|
[Required]
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des App-Users der die Blockierung erstellt hat
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string BlockingAppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des App-Users der blockiert wurde
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string? BlockedAppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wie lange ist die Blockierung gültig?
|
|
/// Wenn null, dann dauerhaft
|
|
/// </summary>
|
|
public DateTimeOffset? BlockedUntil { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional: Verweis auf einen AppUserReport
|
|
/// </summary>
|
|
public long? AppUserReportId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Erstellt von?
|
|
/// </summary>
|
|
[MaxLength(256)]
|
|
public string CreatedBy { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die Blockierung erstellt?
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Blockierter App-User mit Namen aufgelöst.
|
|
/// Wird für die Anzeige der Liste der blockierten App-User verwendet
|
|
/// </summary>
|
|
public class AppUserBlockWithNames
|
|
{
|
|
/// <summary>
|
|
/// Id der Blockierung
|
|
/// </summary>
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des App-Users der die Blockierung erstellt hat
|
|
/// </summary>
|
|
public string BlockingAppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des App-Users der blockiert wurde
|
|
/// </summary>
|
|
public string? BlockedAppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wie lange ist die Blockierung gültig?
|
|
/// Wenn null, dann dauerhaft
|
|
/// </summary>
|
|
public DateTimeOffset? BlockedUntil { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional: Verweis auf einen AppUserReport
|
|
/// </summary>
|
|
public long? AppUserReportId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Erstellt von?
|
|
/// </summary>
|
|
public string CreatedBy { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde die Blockierung erstellt?
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
|
|
/// <summary>
|
|
/// Art des App-Users
|
|
/// </summary>
|
|
public AppUserType Type { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vorname
|
|
/// </summary>
|
|
public string FirstName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Nachname
|
|
/// </summary>
|
|
public string LastName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional - Foto des Benutzers
|
|
/// </summary>
|
|
public string Photo { get; set; }
|
|
|
|
/// <summary>
|
|
/// Hinweis auf den Ort wo jemand zu Hause ist
|
|
/// </summary>
|
|
public string LocationHint { get; set; }
|
|
|
|
/// <summary>
|
|
/// Geo-Koordinaten
|
|
/// </summary>
|
|
public Point Location { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gesperrt
|
|
/// </summary>
|
|
public bool Locked { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gesperrt
|
|
/// </summary>
|
|
public bool Deleted { get; set; }
|
|
}
|
|
}
|