122 lines
2.9 KiB
C#

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
{
/// <summary>
/// Model für die Abfrage von Bannern
/// </summary>
public class BannerQueryDto : QueryDto
{
/// <summary>
/// Banner Platzierung
/// </summary>
[Required]
public BannerLocationDto BannerLocation { get; set; }
/// <summary>
/// Id des aktuell angezeigten Banners
/// </summary>
[MaxLength(128)]
public string CurrentBannerId { get; set; }
/// <summary>
/// Erstellt eine Instanz
/// </summary>
public BannerQueryDto()
{
BannerLocation = BannerLocationDto.None;
}
}
/// <summary>
/// Model für das Setzen von Klicks für einen Banner
/// </summary>
public class BannerClickDto
{
/// <summary>
/// Id des Banners
/// </summary>
[Required]
[MaxLength(128)]
public string Id { get; set; }
/// <summary>
/// Anzahl Klicks
/// </summary>
public int ClickCount { get; set; }
/// <summary>
/// Aktueller Modus der App
/// </summary>
public AppModeDto AppMode { get; set; }
/// <summary>
/// Wo befindet sich der Benutzer?
/// </summary>
public LocationDto Location { get; set; }
/// <summary>
/// Gewünschte Sprache
/// </summary>
public string Language { get; set; }
/// <summary>
/// Erstellt eine Instanz
/// </summary>
public BannerClickDto()
{
AppMode = AppModeDto.DogOwner;
Language = string.Empty;
Location = new LocationDto();
}
}
/// <summary>
/// Model für das Setzen von Views für einen Banner
/// </summary>
public class BannerViewDto
{
/// <summary>
/// Id des Banners
/// </summary>
[Required]
[MaxLength(128)]
public string Id { get; set; }
/// <summary>
/// Anzahl Views
/// </summary>
public int ViewCount { get; set; }
/// <summary>
/// Aktueller Modus der App
/// </summary>
public AppModeDto AppMode { get; set; }
/// <summary>
/// Wo befindet sich der Benutzer?
/// </summary>
public LocationDto Location { get; set; }
/// <summary>
/// Gewünschte Sprache
/// </summary>
public string Language { get; set; }
/// <summary>
/// Erstellt eine Instanz
/// </summary>
public BannerViewDto()
{
AppMode = AppModeDto.DogOwner;
Language = string.Empty;
Location = new LocationDto();
}
}
}