113 lines
3.3 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassi.Dto.Common;
namespace gehGassi.Dto.Reporting
{
/// <summary>
/// DTO für die Meldung eines anstößigen Inhalts / Verhaltens
/// </summary>
public class AppUserReportDto
{
/// <summary>
/// Id des App-Users der die Meldung erstellt hat
/// </summary>
[MaxLength(128)]
public string? ReportingAppUserId { get; set; }
/// <summary>
/// Id des App-Users der Ziel der Meldung ist
/// </summary>
[MaxLength(128)]
public string? ReportedAppUserId { get; set; }
/// <summary>
/// Bereich der von der Meldung betroffen ist
/// </summary>
[Required]
public AppUserReportSectionDto Section { get; set; }
/// <summary>
/// Id des Inhalts der betroffen ist.
/// Das ist eine Id z.B. eines Hundes, Walkers usw.
/// </summary>
[MaxLength(128)]
public string SectionId { get; set; }
/// <summary>
/// Id des Inhalts der betroffen ist. Zweite ID falls notwendig
/// Das ist eine Id z.B. eines Hundes, Walkers usw.
/// </summary>
[MaxLength(128)]
public string SectionId2 { get; set; }
/// <summary>
/// Es gibt ein Problem mit einem Bild
/// </summary>
public bool ReportedImage { get; set; }
/// <summary>
/// Es gibt ein Problem mit einem Namen
/// </summary>
public bool ReportedName { get; set; }
/// <summary>
/// Es gibt ein Problem mit einem Text
/// </summary>
public bool ReportedText { get; set; }
/// <summary>
/// Es gibt ein Problem mit einer Nachricht
/// </summary>
public bool ReportedMessage { get; set; }
/// <summary>
/// Es gibt ein Problem mit einer Adresse
/// </summary>
public bool ReportedAddress { get; set; }
/// <summary>
/// Typ der Meldung
/// </summary>
[Required]
public AppUserReportTypeDto Type { get; set; }
/// <summary>
/// Email-Adresse des Benutzers der die Meldung erstellt hat
/// </summary>
[Required]
[MaxLength(256)]
[EmailAddress]
public string Email { get; set; }
/// <summary>
/// Zusätzliche Infos des Benutzers der die Meldung erstellt hat
/// </summary>
[MaxLength(1000)]
public string Comment { get; set; }
/// <summary>
/// Nachricht des Chats, falls so eine gemeldet wird
/// </summary>
[MaxLength(500)]
public string Message { get; set; }
/// <summary>
/// Gibt an ob der Benutzer der gemeldet wurde für den meldenden Benutzer gesperrt werden soll und wie.
/// Diese Info kommt vom Benutzer selbst.
/// </summary>
[Required]
public AppUserReportBlockTypeDto BlockType { get; set; }
/// <summary>
/// Der Benutzer der die Meldung erstellt hat, hat zugestimmt via Email kontaktiert zu werden
/// </summary>
[Required]
public bool ContactAllowed { get; set; }
}
}