using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Text; using System.Text.Json.Serialization; using gehGassi.Dto.Common; namespace gehGassi.Dto.Banners { /// /// Model für die Abfrage von Bannern /// public class BannerQueryDto : QueryDto { /// /// Banner Platzierung /// [Required] public BannerLocationDto BannerLocation { get; set; } /// /// Id des aktuell angezeigten Banners /// [MaxLength(128)] public string CurrentBannerId { get; set; } /// /// Erstellt eine Instanz /// public BannerQueryDto() { BannerLocation = BannerLocationDto.None; } } /// /// Model für das Setzen von Klicks für einen Banner /// public class BannerClickDto { /// /// Id des Banners /// [Required] [MaxLength(128)] public string Id { get; set; } /// /// Anzahl Klicks /// public int ClickCount { get; set; } /// /// Aktueller Modus der App /// public AppModeDto AppMode { get; set; } /// /// Wo befindet sich der Benutzer? /// public LocationDto Location { get; set; } /// /// Gewünschte Sprache /// public string Language { get; set; } /// /// Erstellt eine Instanz /// public BannerClickDto() { AppMode = AppModeDto.DogOwner; Language = string.Empty; Location = new LocationDto(); } } /// /// Model für das Setzen von Views für einen Banner /// public class BannerViewDto { /// /// Id des Banners /// [Required] [MaxLength(128)] public string Id { get; set; } /// /// Anzahl Views /// public int ViewCount { get; set; } /// /// Aktueller Modus der App /// public AppModeDto AppMode { get; set; } /// /// Wo befindet sich der Benutzer? /// public LocationDto Location { get; set; } /// /// Gewünschte Sprache /// public string Language { get; set; } /// /// Erstellt eine Instanz /// public BannerViewDto() { AppMode = AppModeDto.DogOwner; Language = string.Empty; Location = new LocationDto(); } } }