112 lines
3.8 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using gehGassi.Domain.Localization;
namespace gehGassi.Web.Models
{
/// <summary>
/// Basis-Viewmodel für eine Entität welche über Synchronisierungs-Eigenschaften verfügt
/// </summary>
public class SyncEntityVm
{
/// <summary>
/// Guid als String - wird als Key verwendet.
/// Hier so gelöst, da nicht alle Datenbanken über Guids verfügen
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public string Id { get; set; }
/// <summary>
/// Eindeutiger Versions-Identifikator für diese Entität. Muss bei jeder Schreib-Operation gesetzt werden
/// </summary>
public byte[] Version { get; set; }
/// <summary>
/// Datum und Uhrzeit inkl. Zeitzone wann die letzte Aktualisierung stattgefunden hat.
/// </summary>
[Display(Name = "SyncEntity_UpdatedAt")]
public DateTimeOffset UpdatedAt { get; set; }
/// <summary>
/// Gibt an ob diese Entität gelöscht wurde
/// </summary>
[Display(Name = "SyncEntity_Deleted")]
public bool Deleted { get; set; }
}
/// <summary>
/// Basis-Viewmodel für eine Entität welche über Synchronisierungs-Eigenschaften verfügt für Listendarstellungen
/// </summary>
public class SyncEntityListVm
{
/// <summary>
/// Guid als String - wird als Key verwendet.
/// Hier so gelöst, da nicht alle Datenbanken über Guids verfügen
/// </summary>
public string Id { get; set; }
/// <summary>
/// Datum und Uhrzeit inkl. Zeitzone wann die letzte Aktualisierung stattgefunden hat.
/// </summary>
public DateTimeOffset UpdatedAt { get; set; }
/// <summary>
/// Gibt an ob diese Entität gelöscht wurde
/// </summary>
public bool Deleted { get; set; }
}
/// <summary>
/// Basis-Viewmodel für eine Entität welche über Synchronisierungs-Eigenschaften verfügt
/// </summary>
public class SyncEntityLocalizableVm : LocalizableBase
{
/// <summary>
/// Guid als String - wird als Key verwendet.
/// Hier so gelöst, da nicht alle Datenbanken über Guids verfügen
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public string Id { get; set; }
/// <summary>
/// Eindeutiger Versions-Identifikator für diese Entität. Muss bei jeder Schreib-Operation gesetzt werden
/// </summary>
public byte[] Version { get; set; }
/// <summary>
/// Datum und Uhrzeit inkl. Zeitzone wann die letzte Aktualisierung stattgefunden hat.
/// </summary>
[Display(Name = "SyncEntity_UpdatedAt")]
public DateTimeOffset UpdatedAt { get; set; }
/// <summary>
/// Gibt an ob diese Entität gelöscht wurde
/// </summary>
[Display(Name = "SyncEntity_Deleted")]
public bool Deleted { get; set; }
}
/// <summary>
/// Basis-Viewmodel für eine Entität welche über Synchronisierungs-Eigenschaften verfügt für Listendarstellungen
/// </summary>
public class SyncEntityLocalizableListVm : LocalizableBase
{
/// <summary>
/// Guid als String - wird als Key verwendet.
/// Hier so gelöst, da nicht alle Datenbanken über Guids verfügen
/// </summary>
public string Id { get; set; }
/// <summary>
/// Datum und Uhrzeit inkl. Zeitzone wann die letzte Aktualisierung stattgefunden hat.
/// </summary>
public DateTimeOffset UpdatedAt { get; set; }
/// <summary>
/// Gibt an ob diese Entität gelöscht wurde
/// </summary>
public bool Deleted { get; set; }
}
}