36 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gehGassi.Domain.Base
{
/// <summary>
/// Schnittstellenbeschreibung für eine Entität welche über Synchronisierungs-Eigenschaften verfügt
/// </summary>
public interface ISyncEntity : IEquatable<ISyncEntity>
{
/// <summary>
/// Guid als String - wird als Key verwendet.
/// Hier so gelöst, da nicht alle Datenbanken über Guids verfügen
/// </summary>
string Id { get; set; }
/// <summary>
/// Eindeutiger Versions-Identifikator für diese Entität. Muss bei jeder Schreib-Operation gesetzt werden
/// </summary>
byte[] Version { get; set; }
/// <summary>
/// Datum und Uhrzeit inkl. Zeitzone wann die letzte Aktualisierung stattgefunden hat.
/// </summary>
DateTimeOffset UpdatedAt { get; set; }
/// <summary>
/// Gibt an ob diese Entität gelöscht wurde
/// </summary>
bool Deleted { get; set; }
}
}