86 lines
2.2 KiB
C#

using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gehGassi.LocalNotifications
{
/// <summary>
/// Repräsentiert eine Notification-Anfrage die erstellt werden soll
/// </summary>
public class NotificationRequest
{
/// <summary>
/// Eindeutige ID. Ist die ID nicht eindeutig, dann wird keine neue Anfrage erstellt
/// </summary>
public int NotificationId { get; set; }
/// <summary>
/// Titel der Notification
/// </summary>
public string Title { get; set; }
/// <summary>
/// Beschreibung der Notification
/// </summary>
public string Description { get; set; }
/// <summary>
/// Zeit wann die Anfrage storniert wurde
/// </summary>
public long CalledAt { get; set; }
/// <summary>
/// Letzter Aufrauf als DateTime
/// </summary>
public DateTime? LastCalledAt { get; set; }
/// <summary>
/// ERiunnerungszeit als Epoch
/// </summary>
public long NotifyTimeSinceEpoch { get; set; }
/// <summary>
/// Erinnerungszeit
/// </summary>
public DateTime? NotifyTime { get; set; }
/// <summary>
/// Wiederholen?
/// </summary>
public bool Repeats { get; set; } = false;
/// <summary>
/// Wiederhilungsintervall
/// </summary>
public NotificationRepeat RepeatInterval { get; set; }
/// <summary>
/// Zeit
/// </summary>
public Time Time { get; set; }
/// <summary>
/// Wochentag
/// </summary>
public Day WeekDay { get; set; }
/// <summary>
/// Payload das bei einem Tap zur Verfügung gestellt wird
/// </summary>
public string Payload { get; set; }
/// <summary>
/// Android Optionen
/// </summary>
public AndroidOptions Android { get; set; } = new AndroidOptions();
/// <summary>
/// IOS-Optionen
/// </summary>
public IosOptions iOS { get; set; } = new IosOptions();
}
}