105 lines
2.7 KiB
C#

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
{
/// <summary>
/// Repräsentiert einen Banner
/// </summary>
public class Banner : SyncEntity
{
/// <summary>
/// Bannerplatzierung
/// </summary>
[Required]
public BannerLocation BannerLocation { get; set; }
/// <summary>
/// Banner Größe
/// </summary>
[Required]
public BannerSize BannerSize { get; set; }
/// <summary>
/// Status des Banners
/// </summary>
public BannerStatus Status { get; set; }
/// <summary>
/// Startdatum der Banner-Werbung
/// </summary>
public DateTimeOffset? StartDate { get; set; }
/// <summary>
/// Enddatum der Banner-Werbung
/// </summary>
public DateTimeOffset? EndDate { get; set; }
/// <summary>
/// Bild - Banner
/// </summary>
[MaxLength(500)]
public string Image { get; set; }
/// <summary>
/// Link für den Banner
/// </summary>
[MaxLength(2083)]
public string Url { get; set; }
/// <summary>
/// Name des Banners
/// </summary>
[MaxLength(100)]
public string Name { get; set; }
/// <summary>
/// Breite basierend auf Bannersize zurückgeben
/// </summary>
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();
}
}
}
/// <summary>
/// Höhe basierend auf Bannersize zurückgeben
/// </summary>
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();
}
}
}
}
}