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();
}
}
}
}
}