using gehGassi.Domain.Base; using gehGassi.Domain.Common; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace gehGassi.Domain.Dogs { /// /// Repräsentiert eine Zeiteinstellung für einen Walker. /// Verfügbarkeit je Tag uns Start-Endzeit /// Ist nicht für Sittung geeigent /// public class WalkingTime : SyncEntity, IAuditable { /// /// Id des DogWalkers /// [Required] [MaxLength(128)] public string DogWalkerId { get; set; } /// /// Tag in der Woche (So - Mo) /// [Required] public DayOfWeek Day { get; set; } /// /// Startzeit /// [Required] public TimeSpan Start { get; set; } /// /// Endzeit /// [Required] public TimeSpan End { get; set; } /// /// Ist die Einstellung aktiv? /// [Required] public bool Enabled { get; set; } #region IAuditable /// /// Gibt den eindeutigen Key für die Entität zurück; /// Hier als String gelöst, weil damit auch kombinierte Schlüssel möglich sind. /// /// Eindeutiger Key public string AuditKey() { return Id.ToString(); } /// /// Gibt den Objektnamen bzw. die Tabelle der Entität zurück /// /// Objektnamen public string AuditTable() { return "WalkingTimes"; } public AuditableOptions Options() { return AuditableOptions.Create | AuditableOptions.Edit | AuditableOptions.Delete; } #endregion } }