89 lines
2.1 KiB
C#

using gehGassiApp.Domain.Base;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassiApp.Domain.Common;
namespace gehGassiApp.Domain.News
{
/// <summary>
/// Repräsentiert eine News-Kategorie
/// </summary>
public class NewsCategory : SyncEntity
{
private string _name;
private string _language;
private OnlineStatus _onlineStatus;
/// <summary>
/// Sprache für welche die News zur Verfügung steht
/// </summary>
[Required]
[MaxLength(2)]
public string Language
{
get => _language;
set
{
_language = value;
OnPropertyChanged(nameof(Language));
}
}
/// <summary>
/// Name der Kategorie
/// </summary>
[Required]
[MaxLength(100)]
public string Name
{
get => _name;
set
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
/// <summary>
/// Beschreibung der Kategorie.
/// </summary>
public string Description { get; set; }
/// <summary>
/// Bild für die Kategorie - Allgemein
/// </summary>
[MaxLength(500)]
public string Image { get; set; }
/// <summary>
/// Bild der Kategorie für eine Sprache
/// </summary>
[MaxLength(500)]
public string ImageLanguage { get; set; }
/// <summary>
/// Online / Offline Status
/// </summary>
[Required]
public OnlineStatus OnlineStatus
{
get => _onlineStatus;
set
{
_onlineStatus = value;
OnPropertyChanged(nameof(OnlineStatus));
}
}
/// <summary>
/// Datum der Erstellung
/// </summary>
[Required]
public DateTimeOffset Created { get; set; }
}
}