223 lines
6.2 KiB
C#

namespace gehGassi.Core.Interfaces
{
/// <summary>
/// Optionen für die Zugriffsüberprüfung auf die API durch den Webjob
/// </summary>
public class WebJobApiOptions
{
/// <summary>
/// Name des Schlüssels im Header der geprüft werden soll
/// </summary>
public string KeyName { get; set; }
/// <summary>
/// Wert der im Header - Key vorhanden sein muss
/// </summary>
public string KeyValue { get; set; }
/// <summary>
/// Basis-Url der Website
/// </summary>
public string Url { get; set; }
}
/// <summary>
/// Optionen für die Bezahlmethoden
/// </summary>
public class PaymentOptions
{
/// <summary>
/// Soll die PayPal Sandbox verwendet werden?
/// </summary>
public bool PayPalUseSandbox { get; set; }
/// <summary>
/// Basis-Url der PayPal-API
/// </summary>
public string PayPalBaseUrl { get; set; }
/// <summary>
/// Basis-Url der PayPl-Sandbox API
/// </summary>
public string PayPalSandboxUrl { get; set; }
/// <summary>
/// Soll der Klarna Playgrounnd verwendet werden?
/// </summary>
public bool KlarnaUsePlayground { get; set; }
/// <summary>
/// Basis-Url der Klarna API
/// </summary>
public string KlarnaBaseUrl { get; set; }
/// <summary>
/// Basis-Url des Klarna Playground
/// </summary>
public string KlarnaPlaygroundUrl { get; set; }
}
/// <summary>
/// Optionen für Listungen
/// </summary>
public class ListingOptions
{
/// <summary>
/// Wie viele Platin-Listungen je Branche und Zeitraum sind möglich?
/// </summary>
public int Platin { get; set; }
/// <summary>
/// Wie viele Gold-Listungen je Branche und Zeitraum sind möglich?
/// </summary>
public int Gold { get; set; }
/// <summary>
/// Wie viele Silber-Listungen je Branche und Zeitraum sind möglich?
/// </summary>
public int Silver { get; set; }
/// <summary>
/// Wie viele Basis-Listungen je Branche und Zeitraum sind möglich?
/// </summary>
public int Base { get; set; }
}
/// <summary>
/// Einstellungen für den Shop
/// </summary>
public class ShopOptions
{
/// <summary>
/// Quell-Land des Shops. Wichtig für Steuer und Versandkostenberechnung
/// </summary>
public string SourceCountry { get; set; }
/// <summary>
/// Soll die PayPal Sandbox verwendet werden?
/// </summary>
public bool PayPalUseSandbox { get; set; }
/// <summary>
/// PayPal Live-URL
/// </summary>
public string PayPalBaseUrl { get; set; }
/// <summary>
/// PayPal Sandbox-Url
/// </summary>
public string PayPalSandboxUrl { get; set; }
/// <summary>
/// Soll der Klarna Playground verwendet weden?
/// </summary>
public bool KlarnaUsePlayground { get; set; }
/// <summary>
/// Klarna Basis-Url
/// </summary>
public string KlarnaBaseUrl { get; set; }
/// <summary>
/// Klarna Playground URL
/// </summary>
public string KlarnaPlaygroundUrl { get; set; }
}
/// <summary>
/// Einstellungen für den Zugriff auf MangoPay
/// </summary>
public class MangoPayOptions
{
/// <summary>
/// Id des Clients
/// </summary>
public string ClientId { get; set; }
/// <summary>
/// API-Key
/// </summary>
public string ApiKey { get; set; }
/// <summary>
/// URL für die Kommunikation
/// </summary>
public string BaseUrl { get; set; }
}
/// <summary>
/// Einstellungen für den PushNotificationService
/// </summary>
public class PushNotificationOptions
{
/// <summary>
/// Connectionstring für Azure mit Manage,Listen,Send
/// </summary>
public string ConnectionString { get; set; }
/// <summary>
/// Name des Hubs der verwendet werden soll
/// </summary>
public string HubName { get; set; }
}
/// <summary>
/// Einstellungen wie viele Coins man für den Abschluss eines Walks bekommt.
/// Es wird zwischen den unterschiedlichen Service-Typen unterschieden.
/// </summary>
public class CoinsOptions
{
/// <summary>
/// Walks für Dogwalker
/// </summary>
public decimal WalkForDogwalker { get; set; }
/// <summary>
/// Sittings für DogWalker
/// </summary>
public decimal SittingForDowgWalker { get; set; }
/// <summary>
/// Tagesbetreuung für DogWalker
/// </summary>
public decimal DayCareForDowgWalker { get; set; }
/// <summary>
/// Walks für Hundebesitzer
/// </summary>
public decimal WalkForOwner { get; set; }
/// <summary>
/// Sittings für Hundebesitzer
/// </summary>
public decimal SittingForOwner { get; set; }
/// <summary>
/// Tagesbetreuung für Hundebesitzer
/// </summary>
public decimal DayCareForOwner { get; set; }
}
/// <summary>
/// Einstellung wie viele Coins man mindestens erhalten haben muss um an der Topf-Auszahlung teilzunehmen
/// </summary>
public class MinCoinsForPot
{
/// <summary>
/// Mindest-Coins je Monat um am Monats-Topf teilzunehmen - Dogwalker
/// </summary>
public decimal DogWalkerMonthly { get; set; }
/// <summary>
/// Mindest-Coins je Jahr um am Jahres-Topf teilzunehmen - Dogwalker
/// </summary>
public decimal DogWalkerYearly { get; set; }
/// <summary>
/// Mindest-Coins je Monat um am Monats-Topf teilzunehmen - Hundebesitzer
/// </summary>
public decimal OwnerMonthly { get; set; }
/// <summary>
/// Mindest-Coins je Jahr um am Jahres-Topf teilzunehmen - Hundebesitzer
/// </summary>
public decimal OwnerYearly { get; set; }
}
}