198 lines
5.6 KiB
C#
198 lines
5.6 KiB
C#
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using gehGassi.Web.Helper;
|
|
|
|
namespace gehGassi.Web.Models
|
|
{
|
|
/// <summary>
|
|
/// Viewmodel für eine AppVersion
|
|
/// </summary>
|
|
public class AppVersionVm
|
|
{
|
|
/// <summary>
|
|
/// Id der Appversion
|
|
/// </summary>
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Plattform für die die Version gilt
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
[Display(Name = "AppVersion_Platform", Description = "AppVersion_Platform_Desc")]
|
|
public PlatformVm Platform { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Major
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
[Display(Name = "AppVersion_Major", Description = "AppVersion_Major_Desc")]
|
|
public int Major { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Minor
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
[Display(Name = "AppVersion_Minor", Description = "AppVersion_Minor_Desc")]
|
|
public int Minor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Build
|
|
/// </summary>
|
|
[Display(Name = "AppVersion_Build", Description = "AppVersion_Build_Desc")]
|
|
public int? Build { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Revision
|
|
/// </summary>
|
|
[Display(Name = "AppVersion_Revision", Description = "AppVersion_Revision_Desc")]
|
|
public int? Revision { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version als string
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
[MaxLength(100, ErrorMessage = "Err_StringLength_Max")]
|
|
[Display(Name = "AppVersion_Version", Description = "AppVersion_Version_Desc")]
|
|
public string Version { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist die aktuell verfügbare Version
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
[Display(Name = "AppVersion_IsCurrent", Description = "AppVersion_IsCurrent_Desc")]
|
|
public bool IsCurrent { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist die Version verpflichtend?
|
|
/// Muss installiert werden wenn die aktuell installierte Version älter ist
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
[Display(Name = "AppVersion_IsMandatory", Description = "AppVersion_IsMandatory_Desc")]
|
|
public bool IsMandatory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Veröffentlichungsdatum
|
|
/// </summary>
|
|
[Display(Name = "AppVersion_ReleaseDate", Description = "AppVersion_ReleaseDate_Desc")]
|
|
public DateTimeOffset ReleaseDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Texte mehrsprachig
|
|
/// </summary>
|
|
public List<AppVersionTextVm> TextVms { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Hilfsklasse für das Erfassen Mehrsprachiger Texte für Appversionen.
|
|
/// Wird so gelöst, damit beliebig viele Sprachen verwendet werden können
|
|
/// </summary>
|
|
public class AppVersionTextVm
|
|
{
|
|
/// <summary>
|
|
/// Id
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Srache
|
|
/// </summary>
|
|
[Required(ErrorMessage = "Err_Required")]
|
|
public string Language { get; set; }
|
|
|
|
/// <summary>
|
|
/// Titel
|
|
/// </summary>
|
|
[RequiredIfDefaultLanguage("Language", ErrorMessage = "Err_Required")]
|
|
[MaxLength(100, ErrorMessage = "Err_StringLength_Max")]
|
|
[Display(Name = "AppVersion_ReleaseTitle", Description = "AppVersion_ReleaseTitle_Desc")]
|
|
public string ReleaseTitle { get; set; }
|
|
|
|
/// <summary>
|
|
/// Notes
|
|
/// </summary>
|
|
[RequiredIfDefaultLanguage("Language", ErrorMessage = "Err_Required")]
|
|
[Display(Name = "AppVersion_ReleaseNotes", Description = "AppVersion_ReleaseNotes_Desc")]
|
|
public string ReleaseNotes { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Viewmodel für eine AppVersion - Listendarstellung
|
|
/// </summary>
|
|
public class AppVersionListVm
|
|
{
|
|
/// <summary>
|
|
/// Id der Appversion
|
|
/// </summary>
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Plattform für die die Version gilt
|
|
/// </summary>
|
|
public PlatformVm Platform { get; set; }
|
|
|
|
/// <summary>
|
|
/// Plattform für die die Version gilt
|
|
/// </summary>
|
|
public string PlatformText { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Major
|
|
/// </summary>
|
|
public int Major { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Minor
|
|
/// </summary>
|
|
public int Minor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Build
|
|
/// </summary>
|
|
public int? Build { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version Revision
|
|
/// </summary>
|
|
public int? Revision { get; set; }
|
|
|
|
/// <summary>
|
|
/// Version als string
|
|
/// </summary>
|
|
public string Version { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist die aktuell verfügbare Version
|
|
/// </summary>
|
|
public bool IsCurrent { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist die Version verpflichtend?
|
|
/// Muss installiert werden wenn die aktuell installierte Version älter ist
|
|
/// </summary>
|
|
public bool IsMandatory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Titel des Releases
|
|
/// </summary>
|
|
public string ReleaseTitle { get; set; }
|
|
|
|
/// <summary>
|
|
/// Veröffentlichungsdatum
|
|
/// </summary>
|
|
public DateTimeOffset ReleaseDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Letztes Update
|
|
/// </summary>
|
|
public DateTimeOffset LastUpdate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann erstellt
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
}
|