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.Listings { /// /// Repräsentiert eine Listung /// public class Listing : SyncEntity { private bool _isFavourite; /// /// Id des Kunden /// public long CustomerId { get; set; } /// /// Name des kunden /// public string CustomerName { get; set; } /// /// Id der Branche /// public string BranchId { get; set; } /// /// Name der Branche /// public string BranchName { get; set; } /// /// Typ der Listung - Basis, Silber, Gold, Plating /// public ListingType ListingType { get; set; } /// /// Startdatum der Listung /// public DateTimeOffset? StartDate { get; set; } /// /// Enddatum der Listung /// public DateTimeOffset? EndDate { get; set; } /// /// Bild für die Listung - Allgemein /// public string Image { get; set; } /// /// Bild für die Listung - Allgemein 8:9 /// public string Image2 { get; set; } /// /// Link für die Listung - allgemein wenn nicht überschrieben /// public string Url { get; set; } /// /// Name der Listung /// public string Name { get; set; } /// /// Beschreibung der Listung /// public string Description { get; set; } /// /// Bild der Listung für eine Sprache /// public string ImageLanguage { get; set; } /// /// Bild der Listung für eine Sprache 8:9 /// public string Image2Language { get; set; } /// /// Link für die Listung für eine Sprache /// public string UrlLanguage { get; set; } /// /// Adresse die angezeigt werden soll /// public Address ListingAddress { get; set; } /// /// Breitengrad der Adresse /// public double ListingLat { get; set; } /// /// Längengrad der Adresse /// public double ListingLng { get; set; } /// /// Abstand zum aktuellen Standort in KM /// [NotMapped] public double Distance { get; set; } /// /// Ist die Listung ein Favorit des Benutzers? /// [NotMapped] public bool IsFavourite { get => _isFavourite; set { _isFavourite = value; OnPropertyChanged(); } } /// /// Erstellt eine Instanz /// public Listing() { ListingAddress = new Address(); } } /// /// Typ der Listung /// public enum ListingType { /// /// Basis-Listung /// Base = 0, /// /// Silber-Listung /// Silver = 10, /// /// Gold-Listung /// Gold = 20, /// /// Platin-Listung /// Platin = 30 } }