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