using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassiApp.Domain.Base; using gehGassiApp.Domain.Common; namespace gehGassiApp.Domain.Banners { /// /// Repräsentiert einen Banner /// public class Banner : SyncEntity { /// /// Bannerplatzierung /// [Required] public BannerLocation BannerLocation { get; set; } /// /// Banner Größe /// [Required] public BannerSize BannerSize { get; set; } /// /// Status des Banners /// public BannerStatus Status { get; set; } /// /// Startdatum der Banner-Werbung /// public DateTimeOffset? StartDate { get; set; } /// /// Enddatum der Banner-Werbung /// public DateTimeOffset? EndDate { get; set; } /// /// Bild - Banner /// [MaxLength(500)] public string Image { get; set; } /// /// Link für den Banner /// [MaxLength(2083)] public string Url { get; set; } /// /// Name des Banners /// [MaxLength(100)] public string Name { get; set; } /// /// Breite basierend auf Bannersize zurückgeben /// public int Width { get { switch (BannerSize) { case BannerSize.Standard: return 320; case BannerSize.Large: return 320; case BannerSize.MediumRectangular: return 300; default: throw new ArgumentOutOfRangeException(); } } } /// /// Höhe basierend auf Bannersize zurückgeben /// public int Height { get { switch (BannerSize) { case BannerSize.Standard: return 50; case BannerSize.Large: return 90; case BannerSize.MediumRectangular: return 250; default: throw new ArgumentOutOfRangeException(); } } } } }