using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassi.Domain.Common; using NetTopologySuite.Geometries; namespace gehGassi.Domain.Walks { /// /// Hilfsklasse für das Senden von Push-Notifications wenn eine öffentliche Anfrage erstellt wurde. /// Es werden dann Push-Notifications an Walker in der Nähe gesendet /// public class PublicWalkRequestNotification { /// /// Eindeutige Id /// [Key] public long Id { get; set; } /// /// Id der öffentlichen Anfrage /// [Required] [MaxLength(128)] public string PublicWalkRequestId { get; set; } /// /// Id des App-Users / Hundebesitzers der die Anfrage erstellt hat /// Ist eine AppUserId /// [Required] [MaxLength(128)] public string DogOwnerId { get; set; } /// /// Abhol-Adresse /// public Address PickupAddress { get; set; } /// /// Geo-Koordinaten der Adresse /// public Point Location { get; set; } /// /// Anzahl der nachrichten die gesendet wurden /// public int SentCount { get; set; } /// /// Wurden die Nachrichten bereits gesendet? /// [Required] public bool HasBeenSent { get; set; } /// /// Datum wann die Nachricht gesendet wurden /// public DateTimeOffset? SentDate { get; set; } /// /// Wann erstellt /// public DateTimeOffset Created { get; set; } /// /// Erstellt eine Instanz /// public PublicWalkRequestNotification() { PickupAddress = new Address(); Location = new Point(0, 0); } } }