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