80 lines
2.1 KiB
C#
80 lines
2.1 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 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
|
|
/// </summary>
|
|
public class PublicWalkRequestNotification
|
|
{
|
|
/// <summary>
|
|
/// Eindeutige Id
|
|
/// </summary>
|
|
[Key]
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id der öffentlichen Anfrage
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string PublicWalkRequestId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des App-Users / Hundebesitzers der die Anfrage erstellt hat
|
|
/// Ist eine AppUserId
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string DogOwnerId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Abhol-Adresse
|
|
/// </summary>
|
|
public Address PickupAddress { get; set; }
|
|
|
|
/// <summary>
|
|
/// Geo-Koordinaten der Adresse
|
|
/// </summary>
|
|
public Point Location { get; set; }
|
|
|
|
/// <summary>
|
|
/// Anzahl der nachrichten die gesendet wurden
|
|
/// </summary>
|
|
public int SentCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wurden die Nachrichten bereits gesendet?
|
|
/// </summary>
|
|
[Required]
|
|
public bool HasBeenSent { get; set; }
|
|
|
|
/// <summary>
|
|
/// Datum wann die Nachricht gesendet wurden
|
|
/// </summary>
|
|
public DateTimeOffset? SentDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann erstellt
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
|
|
/// <summary>
|
|
/// Erstellt eine Instanz
|
|
/// </summary>
|
|
public PublicWalkRequestNotification()
|
|
{
|
|
PickupAddress = new Address();
|
|
Location = new Point(0, 0);
|
|
}
|
|
}
|
|
}
|