gehgassi_app/gehGassiApp/gehGassiApp.Core/Interfaces/ISubscriptionValidationService.cs

49 lines
1.9 KiB
C#

using gehGassiApp.Domain.Common;
namespace gehGassiApp.Core.Interfaces
{
/// <summary>
/// Schnittstellenbeschreibung für einen Service der die Validierung von Subscriptions also Abos zur Verfügung stellt.
/// </summary>
public interface ISubscriptionValidationService
{
/// <summary>
/// Prüft ob der aktuelle Benutzer eine gültige Buchung für einen Code hat.
/// </summary>
/// <param name="code">Code</param>
/// <returns>true wenn gültig, false else</returns>
bool HasValidSubscription(string code);
/// <summary>
/// Prüft ob der aktuelle Benutzer eine gültige Buchung für einen Code hat.
/// </summary>
/// <param name="code">Code</param>
/// <param name="appMode">AppMode</param>
/// <returns>true wenn gültig, false else</returns>
bool HasValidSubscription(string code, AppMode appMode);
/// <summary>
/// Prüft ob der aktuelle Benutzer eine gültige Buchung für einen Code hat.
/// Der Code muss mit dem Prefix starten.
/// </summary>
/// <param name="codePrefix">Code prefix</param>
/// <returns>true wenn gültig, false else</returns>
bool HasAnyValidSubscription(string codePrefix);
/// <summary>
/// Prüft ob der aktuelle Benutzer eine gültige Buchung für einen AppMode hat.
/// </summary>
/// <param name="appMode">App mode</param>
/// <returns>true wenn gültig, false else</returns>
bool HasAnyValidSubscription(AppMode appMode);
/// <summary>
/// Prüft ob der aktuelle Benutzer eine gültige Buchung für einen Code hat.
/// </summary>
/// <param name="codePrefix">Code prefix</param>
/// <param name="appMode">App mode</param>
/// <returns>true wenn gültig, false else</returns>
bool HasAnyValidSubscription(string codePrefix, AppMode appMode);
}
}