using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassiApp.Domain.Base; using gehGassiApp.Domain.Common; namespace gehGassiApp.Domain.Lookup { /// /// Repräsentiert Detail-Infos zu einem DogOwner /// public class DogOwnerInfo : SyncEntity { /// /// Art des App-Users /// public AppUserType Type { get; set; } /// /// Nummer des App-Users /// public string Number { get; set; } /// /// Anrede / titel /// public string Title { get; set; } /// /// Vorname /// public string FirstName { get; set; } /// /// Nachname /// public string LastName { get; set; } /// /// Geschlecht /// public Sex Sex { get; set; } /// /// Optional - Geburtstag /// public DateTimeOffset? BirthDate { get; set; } /// /// Optional - Foto des Benutzers /// public string Photo { get; set; } /// /// Kontaktdaten /// public ContactMin Contact { get; set; } /// /// Adresse /// public Address Address { get; set; } /// /// Breitengrad der Adresse /// public double Lat { get; set; } /// /// Längengrad der Adresse /// public double Lng { get; set; } /// /// Interne Anmerkungen /// public string Comment { get; set; } /// /// Statistiken als Owner /// public RatingStatistics RatingStatistics { get; set; } /// /// Datum der Erstellung /// public DateTimeOffset Created { get; set; } /// /// Abstand zum aktuellen Standort in KM /// [NotMapped] public double Distance { get; set; } /// /// Voller Name des Walkers /// [NotMapped] public string FullName => $"{FirstName} {LastName}"; /// /// Vorname + Nachname erster Buchstabe + Punkt, oder nur Vorname wenn kein Nachname /// [NotMapped] public string FullNameShort => string.IsNullOrWhiteSpace(LastName) ? FirstName : $"{FirstName} {LastName[..1]}."; #region Erweiterung Blockier- und Sperrinfo /// /// Hundebesitzer ist blockiert /// [NotMapped] public bool Blocked { get; set; } /// /// Hundebesitzer ist gesperrt /// [NotMapped] public bool Locked { get; set; } /// /// Hundebesitzer blockiert oder gesperrt? /// [NotMapped] public bool BlockedOrLocked => Blocked || Locked; #endregion } }