112 lines
3.8 KiB
C#
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; }
|
|
}
|
|
}
|