using gehGassi.Domain.Localization;
using gehGassi.Web.Helper;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace gehGassi.Web.Models
{
///
/// Viewmodel für eine Text-Seite
///
public class PageVm
{
///
/// Eindeutige Id
///
[Required(ErrorMessage = "Err_Required")]
public int Id { get; set; }
///
/// Titel der Seite
///
[Required(ErrorMessage = "Err_Required")]
[MaxLength(100, ErrorMessage = "Err_StringLength_Max")]
[Display(Name = "Page_Title", Description = "Page_Title_Desc")]
public string Title { get; set; }
///
/// Eindeutiger Code für die Seite.
/// Wird für den Aufruf aus der App verwendet
///
[Required(ErrorMessage = "Err_Required")]
[MaxLength(20, ErrorMessage = "Err_StringLength_Max")]
[Remote("IsCodeAvailable", "Page", AdditionalFields = "Id", ErrorMessage = "Err_Code_InUse", HttpMethod = "POST")]
[Display(Name = "Page_Code", Description = "Page_Code_Desc")]
public string Code { get; set; }
///
/// Texte mehrsprachig
///
public List TextVms { get; set; }
}
///
/// Hilfsklasse für das Erfassen Mehrsprachiger Texte für Text-Seiten.
/// Wird so gelöst, damit beliebig viele Sprachen verwendet werden können
///
public class PageTextVm
{
///
/// Id
///
[Required(ErrorMessage = "Err_Required")]
public int Id { get; set; }
///
/// Srache
///
[Required(ErrorMessage = "Err_Required")]
public string Language { get; set; }
///
/// Beschreibung
///
[Display(Name = "Page_Content", Description = "Page_Content_Desc")]
public string Content { get; set; }
}
///
/// Viewmodel für ein Text-Seite Listendarstellung
///
public class PageListVm
{
///
/// Eindeutige Id
///
public int Id { get; set; }
///
/// Titel der Seite
///
public string Title { get; set; }
///
/// Eindeutiger Code für die Seite.
/// Wird für den Aufruf aus der App verwendet
///
public string Code { get; set; }
}
///
/// Viewmodel für ein Text-Seite Listendarstellung
///
public class PageViewVm
{
///
/// Eindeutige Id
///
public int Id { get; set; }
///
/// Titel der Seite
///
public string Title { get; set; }
///
/// Eindeutiger Code für die Seite.
/// Wird für den Aufruf aus der App verwendet
///
public string Code { get; set; }
///
/// Inhalt
///
public string Content { get; set; }
}
}