using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassiApp.Domain.Common; using gehGassiApp.Domain.Walks; namespace gehGassiApp.Core.Interfaces { /// /// Schnittstellenbeschreibung für einen Service der die Verwaltung von lokalen Push-Nachrichten ermöglicht /// public interface ILocalPushNotificationService { /// /// Hinzufügen einer Erinnerung für einen Walk /// /// Modus für die app /// Walk für den eine Erinnerung erstellt werden soll /// Titel der für die Start-Erinnerung angezeigt werden soll /// Beschreibung die für die Start-Erinnerung angezeigt werden soll /// Titel der für die End-Erinnerung angezeigt werden soll /// Beschreibung die für die End-Erinnerung angezeigt werden soll /// Task Task AddReminderAsycn(AppMode appMode, Walk walk, string titleStart, string descriptionStart, string titleEnd, string descriptionEnd); /// /// Hinzufügen einer Erinnerung für einen Walk /// /// Modus für die app /// Walk für den eine Erinnerung erstellt werden soll /// Titel der für die Start-Erinnerung angezeigt werden soll /// Beschreibung die für die Start-Erinnerung angezeigt werden soll /// Titel der für die End-Erinnerung angezeigt werden soll /// Beschreibung die für die End-Erinnerung angezeigt werden soll /// Task Task AddReminderAsycn(AppMode appMode, WalkWithNames walk, string titleStart, string descriptionStart, string titleEnd, string descriptionEnd); /// /// Hinzufügen einer Erinnerung für eine Öffentliche Anfrage /// /// Modus für die app /// Öffentliche Anfrage für die eine Erinnerung erstellt werden soll /// Titel der für die Erinnerung angezeigt werden soll /// Beschreibung die für die Erinnerung angezeigt werden soll /// Wann soll die Erinnerung angezeigt werden? /// Task Task AddReminderAsycn(AppMode appMode, PublicWalkRequest reuqest, string title, string description, DateTime notifyTime); /// /// Stornieren einer Erinnerung /// /// Id der Erinnerung /// true wenn erfolgreich, false sonst Task CancelAsync(int id); /// /// Löschen aller Notifications /// /// Task Task RemoveAllAsync(); /// /// Entfernen von Notifications die abgelaufen sind und eventuell nicht angezeigt wurden /// /// Anzahl entfernte Requests Task RemoveOutdatedAsync(); /// /// Gibt zurück ob für eine Id schon eine Notification existiert /// /// Id der Notification /// true wenn existiert, false sonst Task NotificationExistsAsync(int notificationId); /// /// Hinzufügen einer Erinnerung für einen Walk der noch nicht abgeschlossen wurde. /// /// Modus für die app /// Walk für den eine Erinnerung erstellt werden soll /// Titel der angezeigt werden soll /// Beschreibung die angezeigt werden soll /// Minuten die hinzugefügt werden sollen, damit nicht alle gleichzeitig kommen /// Task Task AddCompleteReminderAsycn(AppMode appMode, Walk walk, string title, string description, int minutesToAdd); Task TestWalkAsycn(AppMode appMode, Walk walk, string title, string description, DateTime notifyTime); Task TestPublicWalkRequestAsycn(AppMode appMode, PublicWalkRequest request, string title, string description, DateTime notifyTime); } }