using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Drawing; using System.Text; using System.Threading.Tasks; using gehGassi.Dto.Common; using gehGassi.Dto.Dogs; namespace gehGassi.Dto.Walks { /// /// DTO für Walks mit Namen aufgelöst /// public class WalkWithNamesDto : SyncEntityDto { /// /// Art der Walk Anfrage /// public WalkTypeDto Type { get; set; } /// /// Welche Art von Service soll durchgeführt werden /// public WalkServiceTypeDto ServiceType { get; set; } /// /// Id des Walkers /// public string DogWalkerId { get; set; } /// /// Name des DogWalkers /// public string DogWalkerName { get; set; } /// /// Foto des Dogwalkers /// public string DogWalkerPhoto { get; set; } /// /// Walker gesperrt /// public bool DogWalkerLocked { get; set; } /// /// Walker blockiert /// public bool DogWalkerBlocked { get; set; } /// /// Id des Hundebesitzers /// public string DogOwnerId { get; set; } /// /// Name des Hundebesitzers /// public string DogOwnerName { get; set; } /// /// Foto des Hundebesitzers /// public string DogOwnerPhoto { get; set; } /// /// Hundebesitzer gesperrt /// public bool DogOwnerLocked { get; set; } /// /// Hundebesitzer blockiert /// public bool DogOwnerBlocked { get; set; } /// /// Id der öffentlichen Anfrage, wenn über diese erstellt /// public string PublicWalkRequestId { get; set; } /// /// Liste der Hunde /// public List Dogs { get; set; } /// /// Anzahl der Hunde /// public int DogCount { get; set; } /// /// Startdatum des Walks mit Urhrzeit /// public DateTimeOffset Start { get; set; } /// /// Enddatum des Walks mit Uhrzeit /// public DateTimeOffset End { get; set; } /// /// Wo soll der Hunde abgeholt werden /// public AddressDto PickupAddress { get; set; } /// /// Breitengrad der Abhol-Adresse /// public double PickupAddressLat { get; set; } /// /// Längengrad der Abhol-Adresse /// public double PickupAddressLng { get; set; } /// /// Wo soll der Hunde zurückgegeben werden werden /// public AddressDto ReturnAddress { get; set; } /// /// Breitengrad der Rückgabe-Adresse /// public double ReturnAddressLat { get; set; } /// /// Längengrad der Rückgabe-Adresse /// public double ReturnAddressLng { get; set; } /// /// Preis für den Walk / Das Sitting. Wird gesetzt und kann entweder fix sein (öffentliche Anfrage) oder errechnet /// public decimal Price { get; set; } /// /// Zusatzinfo für den Walk. Z.B. bei Susi klingeln /// public string Info { get; set; } /// /// Status eines Walks /// public WalkStatusDto Status { get; set; } /// /// Wann wurde der Walk / Sitting gestartet? /// public DateTimeOffset? Started { get; set; } /// /// Wann wurde der Walk / Sitting beendet? /// public DateTimeOffset? Completed { get; set; } /// /// Wann wurde der Walk / Sitting bestätigt? /// public DateTimeOffset? Confirmed { get; set; } /// /// Wann wurde der Walk / Sitting reklamiert? /// public DateTimeOffset? Complained { get; set; } /// /// Optional: Grund für die Reklamation /// public string ComplainReason { get; set; } #region Status Infos /// /// Optional: Grund für die Ablehnung /// public string DeclinedReason { get; set; } /// /// Optional: Grund für die Stornierung /// public string CancelledReason { get; set; } /// /// Wer hat eine Stornierung durchgeführt /// public CancellationSourceDto CancelledBy { get; set; } /// /// Anmerkungen vom Walker nach dem Abschluss /// public string CompletedInfo { get; set; } /// /// Kotabsatz? /// public bool Defactation { get; set; } #endregion /// /// Zahlungsstatus des Walks /// public PaymentStatusDto PaymentStatus { get; set; } /// /// Zahlungsart für den Walk /// public WalkPaymentTypeDto PaymentType { get; set; } /// /// Id des Gutscheins der verwendet wurde, wenn einer verwendet wurde /// public string? VoucherId { get; set; } /// /// Wert des Gutscheins - real verwendeter Wert /// public decimal VoucherAmmount { get; set; } #region Erweiterung Blockier- und Sperrinfo /// /// Hundebesitzer ist blockiert /// public bool Blocked { get; set; } /// /// Hundebesitzer ist gesperrt /// public bool Locked { get; set; } #endregion /// /// Datum der Erstellung des Walks /// public DateTimeOffset Created { get; set; } } }