using System; using System.ComponentModel.DataAnnotations; using gehGassi.Domain.Common; namespace gehGassi.Web.Models { /// /// Viewmodel für ein App-Feedback /// public class AppFeedbackVm { /// /// Eindeutige Id /// public long Id { get; set; } /// /// Id des AppUsers /// [MaxLength(128, ErrorMessage = "Err_StringLength_Max")] public string AppUserId { get; set; } /// /// Benutzername - Email /// [MaxLength(256, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_UserName")] public string UserName { get; set; } /// /// Name des Users /// [MaxLength(350, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_Name")] public string Name { get; set; } /// /// Art des Feedbacks /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppFeedback_FeedbackType")] public AppFeedbackTypeVm FeedbackType { get; set; } /// /// Status des Feedbacks /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppFeedback_Status")] public AppFeedbackStatusVm Status { get; set; } /// /// Nachricht des Users /// [Required(ErrorMessage = "Err_Required")] [MaxLength(1000, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_Message")] public string Message { get; set; } /// /// In welchem Modus war die App beim Senden der Nachricht /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppFeedback_AppMode")] public AppModeVm AppMode { get; set; } /// /// Welche Sprache war gewählt /// [MaxLength(2, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_Language")] public string Language { get; set; } /// /// Land /// [MaxLength(2, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_Country")] public string Country { get; set; } /// /// Version der App /// [MaxLength(50, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_AppVersion")] public string AppVersion { get; set; } /// /// Infos über das Gerät dürfen gesendet werden /// [Display(Name = "AppFeedback_DeviceInfoAllowed")] public bool DeviceInfoAllowed { get; set; } /// /// Gerät: Modell /// [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_DeviceModel")] public string DeviceModel { get; set; } /// /// Gerät: Hersteller /// [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_DeviceManufacturer")] public string DeviceManufacturer { get; set; } /// /// Gerät: Version /// [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_DeviceVersion")] public string DeviceVersion { get; set; } /// /// Gerät: Typ - Echt oder Virtuell /// [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_DeviceType")] public string DeviceType { get; set; } /// /// Gerät: Plattform /// [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_DevicePlatform")] public string DevicePlatform { get; set; } /// /// Gerät: Typ: Phone oder Tablet usw. /// [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppFeedback_DeviceIdiom")] public string DeviceIdiom { get; set; } /// /// Wann erstellt /// [Display(Name = "Common_Created")] public DateTimeOffset Created { get; set; } } /// /// Viewmodel für ein App-Feedback /// public class AppFeedbackListVm { /// /// Eindeutige Id /// public long Id { get; set; } /// /// Benutzername - Email /// public string UserName { get; set; } /// /// Name des Users /// public string Name { get; set; } /// /// Art des Feedbacks /// public AppFeedbackTypeVm FeedbackType { get; set; } public string FeedbackTypeText { get; set; } /// /// Status des Feedbacks /// public AppFeedbackStatusVm Status { get; set; } public string StatusText { get; set; } /// /// In welchem Modus war die App beim Senden der Nachricht /// public AppModeVm AppMode { get; set; } public string AppModeText { get; set; } /// /// Welche Sprache war gewählt /// public string Language { get; set; } /// /// Land /// public string Country { get; set; } /// /// Version der App /// public string AppVersion { get; set; } /// /// Infos über das Gerät dürfen gesendet werden /// public bool DeviceInfoAllowed { get; set; } /// /// Gerät: Version /// public string DeviceVersion { get; set; } /// /// Gerät: Plattform /// public string DevicePlatform { get; set; } /// /// Gerät: Typ: Phone oder Tablet usw. /// public string DeviceIdiom { get; set; } /// /// Wann erstellt /// public DateTimeOffset Created { get; set; } } }