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);
}
}
}