89 lines
2.1 KiB
C#
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; }
|
|
}
|
|
}
|