using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using CommunityToolkit.Mvvm.ComponentModel; using gehGassiApp.Domain.Common; namespace gehGassiApp.Domain.Feedback { /// /// Repräsentiert ein Feedback eines Users der App /// public class AppFeedback : ObservableObject { private bool _deviceInfoAllowed; /// /// Eindeutige Id /// [Key] public long Id { get; set; } /// /// Id des AppUsers /// [MaxLength(128)] public string AppUserId { get; set; } /// /// Benutzername - Email /// [MaxLength(256)] public string UserName { get; set; } /// /// Name des Users /// [MaxLength(350)] public string Name { get; set; } /// /// Art des Feedbacks /// [Required] public AppFeedbackType FeedbackType { get; set; } /// /// Status des Feedbacks /// [Required] public AppFeedbackStatus Status { get; set; } /// /// Nachricht des Users /// [Required] [MaxLength(1000)] public string Message { get; set; } /// /// In welchem Modus war die App beim Senden der Nachricht /// [Required] public AppMode AppMode { get; set; } /// /// Welche Sprache war gewählt /// [MaxLength(2)] public string Language { get; set; } /// /// Land /// [MaxLength(2)] public string Country { get; set; } /// /// Version der App /// [MaxLength(50)] public string AppVersion { get; set; } /// /// Infos über das Gerät dürfen gesendet werden /// public bool DeviceInfoAllowed { get => _deviceInfoAllowed; set { _deviceInfoAllowed = value; OnPropertyChanged(); } } /// /// Gerät: Modell /// [MaxLength(100)] public string DeviceModel { get; set; } /// /// Gerät: Hersteller /// [MaxLength(100)] public string DeviceManufacturer { get; set; } /// /// Gerät: Version /// [MaxLength(100)] public string DeviceVersion { get; set; } /// /// Gerät: Typ - Echt oder Virtuell /// [MaxLength(100)] public string DeviceType { get; set; } /// /// Gerät: Plattform /// [MaxLength(100)] public string DevicePlatform { get; set; } /// /// Gerät: Typ: Phone oder Tablet usw. /// [MaxLength(100)] public string DeviceIdiom { get; set; } /// /// Wann erstellt /// public DateTimeOffset Created { get; set; } } }