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