discount und summary

This commit is contained in:
Tizian.Breuch
2025-08-12 11:52:50 +02:00
parent d5742b27e8
commit b9f1b3fb7a
12 changed files with 481 additions and 44 deletions

View File

@@ -1,46 +1,88 @@
// src/Webshop.Application/DTOs/Admin/AdminShopInfoDto.cs
// src/Webshop.Application/DTOs/Shop/AdminShopInfoDto.cs
using System.ComponentModel.DataAnnotations;
namespace Webshop.Application.DTOs.Shop
{
/// <summary>
/// Repräsentiert alle zentralen Stammdaten des Shops für die administrative Verwaltung.
/// </summary>
public class AdminShopInfoDto
{
/// <summary>
/// Der offizielle Name des Webshops.
/// </summary>
[Required, MaxLength(255)]
public string ShopName { get; set; } = string.Empty;
/// <summary>
/// Ein kurzer Marketing-Slogan, der auf der Startseite angezeigt werden kann.
/// </summary>
[MaxLength(500)]
public string? Slogan { get; set; }
/// <summary>
/// Die primäre Kontakt-E-Mail-Adresse für Kundenanfragen.
/// </summary>
[Required, EmailAddress, MaxLength(255)]
public string ContactEmail { get; set; } = string.Empty;
/// <summary>
/// Die offizielle Telefonnummer des Shops.
/// </summary>
[Phone, MaxLength(50)]
public string? PhoneNumber { get; set; }
/// <summary>
/// Straße und Hausnummer der Firmenadresse.
/// </summary>
[MaxLength(255)]
public string? Street { get; set; }
/// <summary>
/// Stadt der Firmenadresse.
/// </summary>
[MaxLength(100)]
public string? City { get; set; }
/// <summary>
/// Postleitzahl der Firmenadresse.
/// </summary>
[MaxLength(20)]
public string? PostalCode { get; set; }
/// <summary>
/// Land der Firmenadresse.
/// </summary>
[MaxLength(100)]
public string? Country { get; set; }
/// <summary>
/// Die Umsatzsteuer-Identifikationsnummer des Unternehmens.
/// </summary>
[MaxLength(50)]
public string? VatNumber { get; set; }
/// <summary>
/// Die Handelsregisternummer des Unternehmens.
/// </summary>
[MaxLength(100)]
public string? CompanyRegistrationNumber { get; set; }
/// <summary>
/// Die URL zur offiziellen Facebook-Seite.
/// </summary>
[Url, MaxLength(255)]
public string? FacebookUrl { get; set; }
/// <summary>
/// Die URL zum offiziellen Instagram-Profil.
/// </summary>
[Url, MaxLength(255)]
public string? InstagramUrl { get; set; }
/// <summary>
/// Die URL zum offiziellen Twitter/X-Profil.
/// </summary>
[Url, MaxLength(255)]
public string? TwitterUrl { get; set; }
}